Incrémentation d'une chaîne à chaque occurence

Résolu
gondrule1 Messages postés 33 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 29 février 2012 - 29 sept. 2008 à 08:48
gondrule1 Messages postés 33 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 29 février 2012 - 29 sept. 2008 à 11:30
Bonjour,

J'ai un petit problème Word/VBA et je pense que vous saurez très rapidement le résoudre.
J'ai une chaîne de 10 caractères qui apparaît un nombre indéterminable à l'avance dans mon fichier Word.
J'aimerais qu'à chaque fois que Word trouve la chaîne, il ajoute son n° d'occurence (incrémente de 1 à la fin de la chaîne)
Exemple avec (toto parce que c'est rigolo)
toto1
toto2
toto3

D'avance merci pour vos contributions, bonne semaine à tous !

4 réponses

lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
29 sept. 2008 à 09:02
Salut,

Tu fais un truc du genre :
   if instr(1,chainealire,"toto")>0 then
      intI=intI+1
      chainealire = left(chainealire,len(chainealire)-1)&intI
   end if

S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- Le bon theme tu choisiras
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
29 sept. 2008 à 09:09
Salut,
Regarde ce petit code VBA si il peu t'être utile.

   Dim NumFoisAS Integer
   'On se place au début du document
   Call Selection.HomeKey(wdStory)
   Selection.Find.ClearFormatting
   'on initialise le nombre de fois
   NumFois = 1
   Do
       With Selection.Find
           'texte à chercher
           .Text = "Toto"
           'texte qui remplacera
           .Replacement.Text = "Toto" & NumFois
           'On cherche en avant
           .Forward = True
       End With
       'on place le curseur à la fin du mot
       Call Selection.Collapse(wdCollapseEnd)
       'on incrémente le nombre de fois
       NumFois = NumFois + 1
       'on execute le remplacement
   Loop While Selection.Find.Execute(Replace:=wdReplaceOne), ----
[../code.aspx?ID=41455 By Renfield]

@+: Ju£i€n
Pensez: Réponse acceptée
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 sept. 2008 à 08:57
Bonjour, 
J'ai un petit problème Word/VBA

Et tu as posé ta question ici :
Thèmes / Visual Basic 6 / Divers
Un admin la déplacera probablement au bon nendroit, mai pense dorénavant, STP, à ouvrir une discussion relative à VBA dans :
Thèmes / Visual Basic 6 / Langages dérivés / VBA
0
gondrule1 Messages postés 33 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 29 février 2012
29 sept. 2008 à 11:30
Merci à tous les 2 et pour votre altruisme et votre diligence !!

Très bonne journée à vous 2
0
Rejoignez-nous