[VBA-W]Insérer du texte après une recherche

Insérer du texte après une recherche [VBA-W] - VB/VBA/VBS - Programmation

Marsh Posté le 10-03-2006 à 16:30:22    

Salut tout le monde !!
 
Voilà,Je développe une application qui créer un fichier word avec les données de fichiers Excel.  
 
J’ai fait une fonction permettant à mon programme de rechercher une chaine de caractère dans mon fichier word, et j’aimerai insérer un texte après le texte recherché. Voici le code de ma recherche :
 

Code :
  1. document_word.Content.Find.Execute FindText:="Classement RS"


 
et mon code pour insérer le texte après Classement RS :
 

Code :
  1. document_word.Range.InsertAfter ("Second titre" )


 
Au finale, il insère bien ‘Seconde titre’ mais à la fin de mon document word, et non après ‘Classement RS’.
 
Savez-vous comment je pourrais faire cela ?  
D’avance un grand merci, et bon week end !!

Reply

Marsh Posté le 10-03-2006 à 16:30:22   

Reply

Marsh Posté le 11-03-2006 à 16:27:49    

Bonjour,
 
Tu travailles sur Vb ou sur VBA? Sur VBA, la fonction InsertAfter fonctionne mais il faut que le texte à coté duquel on veut faire l'insertion soit sélectionné:
 With Selection
    .InsertAfter " Second titre" 'Insérer le texte Second titre en n'oubliant                    
                                          pas l'espace avant pour ne pas coller les  
                                          deux textes
End With
 
Bon week end

Reply

Marsh Posté le 15-03-2006 à 09:42:30    

Salut TAM136 et merci beacoup de la réponse !
 
Désolé de répondre que maintenant... Alors, pour te répondre je travaille en VBA.
 
Voici le code que j'ai fait :
 

Code :
  1. document_word.Content.Find.Execute FindText:="Classement RS1"
  2. With Selection
  3.     .InsertAfter " Premier titre" 'Insérer le texte Second titre en n'oubliant
  4. End With
  5.    
  6. document_word.Content.Find.Execute FindText:="Classement RS2"
  7. With Selection
  8.     .InsertAfter " Second titre" 'Insérer le texte Second titre en n'oubliant
  9. End With


 
mais il me surligne
 

Code :
  1. .InsertAfter " Premier titre" 'Insérer le texte Second titre en n'oubliant"

en me disant que la variable n'est pas définie...
 

Reply

Marsh Posté le 15-03-2006 à 10:21:23    

Salut,
 
 Je t'avoue que une instruction du type:
document_word.Content.Find.Execute FindText:="Classement RS2"
ne me dit rien.
Pour l'instant, je n'ai pas le temps d'étudier la question
J'essaierai de te répondre dans la soirée.

Reply

Marsh Posté le 15-03-2006 à 10:46:36    

Merci, c'est sympa !
 
Bonne journée !

Reply

Marsh Posté le 15-03-2006 à 18:41:29    

Bonsoir,
 
Là je viens de remarquer parce que ce matin, j'étais pressé, que 'Insérer le texte Second titre en n' est en rouge. Attention, c'est juste du commentaire et non une instruction VBA. C'est facultatif: elle te permet de savoir à quoi sert l'instruction .InsertAfter " Premier titre". Tu écris soit
 
With Selection
   .InsertAfter " Second titre"
End With  
 
soit tu rajoute le commentaire mais en vert. Normalement, dès que tu mets l'apostrophe, le texte qui suit est interprété comme du commentaire et mis en vert automatiquement.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed