user_mobilelogo

S'il s'agit de remplacer un mot en majuscules par le même en minuscules, il n'y a aucun souci, il suffit de faire un Recherche-Remplace de base (chercher MARINA, remplacer par marina ou Marina) et cocher l'option Respecter la casse dans la boîte de dialogue Rechercher et remplacer.

S'il s'agit de remplacer un type particulier d'occurrences différentes, tout dépend de la finalité : majuscules ou minuscules ?

Exemples : vous avez des références de type 3lettres, 2 chiffres, 2 lettres (aaa55xy ou AAA55XY).

  • Si le but est de remplacer les minuscules par les majuscules, il suffit, pour la zone Remplacer, d'ajouter le format "Majuscule" via la boîte de dialogue Format Police.
    NB : Ne sélectionnez pas les caractères génériques.

  • Si le but est inverse, et donc de remplacer les majuscules par les minuscules, une macro s'impose car il va falloir sélectionner ce qu'on trouve et changer la casse, car il n'y a pas de "format" minuscule. La macro suivante reprend l'exemple ci-dessus et remplace les majuscules par des minuscules :

Sub remplacer()
'macro écrite par m@rina
Application.ScreenUpdating = False
Selection.HomeKey Unit:=wdStory
    Do
        With Selection.Find
            .ClearFormatting
            .Text = "^$^$^$^#^#^$^$"
            .Forward = True
            .Wrap = wdFindStop
            .Execute
        End With

    If Selection.Find.Found Then
        Selection.Range.Case = wdLowerCase
       End If
    Loop Until Not Selection.Find.Found
End Sub

 

Et, plus compliqué s'il faut remplacer seulement certaines lettres par des majuscules ou minuscules. Dans l'exemple ci-dessus, où tout serait en majuscules, et où l'on souhaiterait obtenir la première lettre en minuscules. Evidemment, ça complique, il va falloir indiquer à Word quelle est la position des lettres à modifier.

Dans cet exemple, on souhaite remplacer uniquement la deuxième lettre majuscule par une minuscule. On remplacera la ligne de la macro

        Selection.Range.Case = wdLowerCase

par 

        ActiveDocument.Range(Selection.Range.Start + 1, Selection.Range.End - 5).Case = wdLowerCase

Et si on veut remplacer la deuxième et l'avant dernière lettres par des minuscules, la ligne de code sera :

        With ActiveDocument
            .Range(Selection.Range.Start + 1, Selection.Range.End - 5).Case = wdLowerCase
            .Range(Selection.Range.Start + 5, Selection.Range.End - 1).Case = wdLowerCase
        End With
 

 

 

 

Statistiques

Aujourd'hui1108
Hier1893
Cette semaine8177
Ce mois27470
Total depuis 200418230010

21
visiteurs actuellement en ligne

19 avril 2024