J'ai trouvé ! Avec une solution toute simple
Désolée, mais votre réponse ne m'a pas convaincue : pourquoi ne pas utiliser les fonctions Word existantes ?
Au départ, ma demande était simple: passer de la fonction "Rechercher tout" à la fonction "passage majuscules/minuscules". Puisque la fonction "Rechercher tout" semblait poser problème, j'ai essayé ce matin avec "Rechercher". J'ai enregistré la macro en faisant les manipulations sur mon document Word. La macro marchait pour la première ligne. Il ne me restait plus qu'à ajouter une boucle (que j'ai trouvée sur ce forum), à enlever les lignes inutiles, et j'ai obtenu ce code de quelques lignes qui fonctionne parfaitement (il suffit de mettre le curseur au début du document):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Sub FormatNoms()
Do While Selection.Find.Execute = True
Selection.Find.ClearFormatting
With Selection.Find
.Text = "$*$"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.MatchWildcards = True
End With
Selection.Range.Case = wdNextCase
Selection.Range.Case = wdNextCase
Loop
End Sub |
Désolée pour tout le temps que vous avez passé sur ce code. Au début, j'étais loin de me douter que ça prendrait de telles proportions ! Mais ça n'a pas été inutile puisque grâce à vous, j'ai découvert la fonction Debug Print et la fenêtre exécution de VBA (bien pratique effectivement).
Merci pour tout.
Cordialement.
pourquoi ne pas utiliser les fonctions Word existantes - pourquoi utiliser une boucle ?
Citation:
Envoyé par
isamur
Désolée, mais votre réponse ne m'a pas convaincue : pourquoi ne pas utiliser les fonctions Word existantes ?
Au départ, ma demande était simple: passer de la fonction "Rechercher tout" à la fonction "passage majuscules/minuscules". Puisque la fonction "Rechercher tout" semblait poser problème, j'ai essayé ce matin avec "Rechercher". J'ai enregistré la macro en faisant les manipulations sur mon document Word. La macro marchait pour la première ligne. Il ne me restait plus qu'à ajouter une boucle (que j'ai trouvée sur ce forum), à enlever les lignes inutiles, et j'ai obtenu ce code de quelques lignes qui fonctionne parfaitement (il suffit de mettre le curseur au début du document):
RR ou VBA ?
comme dit sur un autre post, et comme j'ai pu l'expérimenter, la fonction Rechercher-Remplacer est BEAUCOUP plus rapide que tout autre code VBA-Word.
VBA peut se trouver lent voire interminable, il est donc intéressant et même prudent d'exploiter RR au maximum.