Exemple de code de macro pour modifier la casse du texte dans Excel


Pour vous procurer une version Microsoft Excel 2000 de cet article, reportez-vous à l'article 213649 .

Pour vous procurer une version Microsoft Excel 98 et versions antérieures de cet article, reportez-vous à l'article 141094 .

Résumé


Bien que Microsoft Excel comprenne des fonctions qui modifient la casse du texte, vous souhaiterez peut-être parfois modifier la casse par programmation.

Cet article contient trois exemples de macros Microsoft Visual Basic pour Applications (procéduresSub ) que vous pouvez utiliser pour modifier les lettres dans une chaîne de texte en majuscules, en minuscules ou avec la première lettre des mots en majuscule. Ces actions sont semblables aux fonctions Excel =MAJUSCULE(), =MINUSCULE() et =NOMPROPRE().

Plus d'informations


Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie explicite ou implicite. Ceci inclut, de manière non limitative, les garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques.

Macro pour modifier tout le texte d'une plage en lettres majuscules

Sub Uppercase()
' Loop to cycle through each cell in the specified range.
For Each x In Range("A1:A5")
' Change the text in the range to uppercase letters.
x.Value = UCase(x.value)
Next
End Sub

Macro pour modifier tout le texte d'une plage en lettres minuscules

Sub Lowercase()
' Loop to cycle through each cell in the specified range.
For Each x In Range("B1:B5")
x.Value = LCase(x.Value)
Next
End Sub

Macro pour modifier tout le texte d'une plage de cellules de façon à mettre la première lettre des mots en majuscule

Sub Proper_Case()
' Loop to cycle through each cell in the specified range.
For Each x In Range("C1:C5")
' There is not a Proper function in Visual Basic for Applications.
' So, you must use the worksheet function in the following form:
x.Value = Application.Proper(x.Value)
Next
End Sub

Tester les exemples de macros

Pour tester les exemples de macros, procédez comme suit :

  1. Dans le classeur qui contient les macros, entrez les exemples de données suivants dans une nouvelle feuille de calcul :

    A1 : toM B1 : toM C1 : toM
    A2 : sUe B2 : sUe C2 : sUe
    A3 : joe SMITH B3 : joe SMITH C3 : joe SMITH
    A4 : mary B4 : mary C4 : mary
    A5 : LORI B5 : LORI C5 : LORI
    REMARQUE : ces exemples de données contiennent du texte mis en forme dans différentes casses que vous pouvez utiliser pour vérifier comment fonctionne chaque macro.
  2. Exécutez chacune des macros.
Le texte de la plage spécifiée dans la macro (dans la ligne « For each x in... ») sera mis en forme en majuscules, en minuscules ou avec la première lettre des mots en majuscule, selon le cas.

Références


Pour plus d'informations sur l'utilisation de fonctions de feuille de calcul pour modifier la casse du texte, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.

263580 Comment faire pour modifier la casse d'un texte dans Excel

Pour plus d'informations sur l'aide disponible sur Visual Basic pour Applications, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.

305326 Ressources de programmation pour Visual Basic pour Applications