Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1067 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  répliquer un texte à plusieurs endroits ( sans signets si possible ! )

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

répliquer un texte à plusieurs endroits ( sans signets si possible ! )

n°2095624
lacharlott​inne
Posté le 17-08-2011 à 12:11:10  profilanswer
 


Bonjour,
 
L'objectif est le suivant :
 
    * un document excel qui sert de proposition commerciale financière
    * un document word qui permet de décrire la proposition financière
 
 
1er étape : Je remplis mon document excel. Je rempli les cellules :
NomClient (qui doit être répéter plusieurs fois dans le document word)
NomProjet
Chargé d'Affaires etc...
 
Je voudrais réutiliser le contenu de la cellule pour réinsérer dans mon word et le générer à partir d'un document type. J'ai essayé les signets mais il déforme mon document word et cela ne marche pas très bien. J'ai épluché le net, j'ai entendu parler de Autotext, de publipostage.. mais je ne vois pas comment le mettre en oeuvre. Le publipostage me demande une liste de destinataires etc...
 
J'aimerai réalisé cela au travers d'une macro. Je possède Word et Excel 2010. Voici le code :
 
Code :
Sélectionner tout - Visualiser dans une fenêtre à part
 
Sub Export()
 
'-- ouverture d'un document word
 
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
 
    Set WordApp = CreateObject("Word.Application" ) '-- ouvre une session Word
    WordApp.Visible = True
    WordApp.WordBasic.DisableAutoMacros 1
    WordApp.Activate
    Set WordDoc = WordApp.Documents.Open("C:\Users\Desktop\DocProposition.docx", ReadOnly:=True)
 
' ControleSiWordOuvert
 
Dim ChampP As String
Dim ChampC As String
Dim ChampA As String
Dim ChampAM As String
 
' Variable NomClient
ChampC = Sheets("Etape 2 - Récapitulatif" ).Range("B10" )
 
 
' Variable NomProjet
ChampP = Sheets("Etape 2 - Récapitulatif" ).Range("B15" )
 
 
' Variable Chargé d'affaire
ChampA = Sheets("Etape 2 - Récapitulatif" ).Range("F12" )
 
 
 
' Insertion des signets
RemplirSignet "NomClient", ChampC, WordDoc
RemplirSignet "NomProjet", ChampP, WordDoc
RemplirSignet "ChargeAffaire", ChampA, WordDoc
 
WordDoc.Fields.Update
 
Set WordApp = Nothing
 
End Sub
 
Voici la fonction RemplirSignet
 
Code :
Sélectionner tout - Visualiser dans une fenêtre à part
 
Public Sub RemplirSignet(S As String, T As String, WordDoc2 As Word.Document)
' Remplit le signet S avec le texte T sans détruire S
On Error GoTo rien
Dim Place As Long
Place = WordDoc2.Bookmarks(S).Range.Start
WordDoc2.Bookmarks(S).Range.Text = T
WordDoc2.Bookmarks.Add Name:=S, _
    Range:=WordDoc2.Range(Place, Place + Len(T))
rien:
 
End Sub
 
J'ai lu la partie publipostage. Mais cela me le fait avec l'assistant word moi ce que j'aimerai
 
C quand je lance ma macro, c'est que cela se fait à ce moment là en code.
-> Ouvrir le fichier word de référence
-> Faire les modifications
-> Faire un Save As sous un autre nom...

mood
Publicité
Posté le 17-08-2011 à 12:11:10  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  répliquer un texte à plusieurs endroits ( sans signets si possible ! )

 

Sujets relatifs
[FLASH] Problème de mise en forme du texte[HTLM] Image de fond + texte par dessus
possible de transposer une sélection AE (en mouvement) sur Flash ??[PHP, MYSQL] Réaliser un classement avec données de plusieurs tables
[ACCESS\VBA] Appliquer couleur sur une partie du texte ?Récupérer les valeurs de plusieurs select avec javascript
Obtenir TOUT le texte entre 2 balises via xml.etree.ElementTreepb récupération du contenu d'un champs texte
jouer plusieurs en meme tempsGénérer aléatoirement du texte sur une image
Plus de sujets relatifs à : répliquer un texte à plusieurs endroits ( sans signets si possible ! )


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR