Convertir le texte en majuscules et minuscules, Excel VBA
Voici un code VBA détaillé pour convertir le texte en majuscules et en minuscules dans Excel, accompagné des explications pour chaque étape.
Objectif :
Nous allons créer une macro VBA qui convertira un texte en majuscules ou minuscules en fonction de la sélection de l’utilisateur.
Explication du code :
- Définir une fonction de conversion : Nous allons utiliser les fonctions Excel UCase pour convertir en majuscules et LCase pour convertir en minuscules.
- Sélectionner la cellule à traiter : Le code devra fonctionner sur la ou les cellules sélectionnées.
- Message pour demander à l’utilisateur s’il veut convertir en majuscules ou en minuscules.
- Appliquer la conversion sur les cellules sélectionnées.
Code VBA :
Sub ConvertirTexte() ' Déclarez une variable pour stocker l'option choisie par l'utilisateur Dim choix As String ' Demander à l'utilisateur s'il veut convertir en majuscules ou minuscules choix = InputBox("Entrez 'M' pour convertir en majuscules ou 'm' pour convertir en minuscules.", "Choix de Conversion") ' Vérifiez si l'utilisateur a sélectionné quelque chose If TypeName(Selection) = "Range" Then ' Vérifiez si la sélection contient des cellules If Not IsEmpty(Selection.Value) Then ' Si l'utilisateur choisit 'M', convertissez en majuscules If choix = "M" Then Selection.Value = UCase(Selection.Value) ' Si l'utilisateur choisit 'm', convertissez en minuscules ElseIf choix = "m" Then Selection.Value = LCase(Selection.Value) ' Si l'utilisateur entre une valeur incorrecte, affichez un message d'erreur Else MsgBox "Option non valide. Veuillez entrer 'M' pour majuscules ou 'm' pour minuscules.", vbExclamation End If Else MsgBox "La cellule sélectionnée est vide.", vbExclamation End If Else MsgBox "Veuillez sélectionner une cellule contenant du texte.", vbExclamation End If End Sub
Explication des différentes parties du code :
1. Demande de l’option de conversion :
choix = InputBox("Entrez 'M' pour convertir en majuscules ou 'm' pour convertir en minuscules.", "Choix de Conversion")
- Cette ligne affiche une boîte de saisie où l’utilisateur peut entrer soit « M » pour majuscules, soit « m » pour minuscules.
2. Vérification de la sélection :
If TypeName(Selection) = "Range" Then
- Cela vérifie si la sélection de l’utilisateur est une plage de cellules. Si ce n’est pas le cas (par exemple, si aucune cellule n’est sélectionnée), un message d’erreur sera affiché.
3. Vérification du contenu de la cellule :
If Not IsEmpty(Selection.Value) Then
- Cette condition s’assure que la cellule sélectionnée n’est pas vide.
4. Conversion en majuscules :
If choix = "M" Then Selection.Value = UCase(Selection.Value)
- Si l’utilisateur a choisi « M », la fonction UCase convertit le texte en majuscules.
5. Conversion en minuscules :
ElseIf choix = "m" Then Selection.Value = LCase(Selection.Value)
- Si l’utilisateur a choisi « m », la fonction LCase convertit le texte en minuscules.
6. Messages d’erreur :
MsgBox "Option non valide. Veuillez entrer 'M' pour majuscules ou 'm' pour minuscules.", vbExclamation
- Si l’utilisateur entre autre chose que « M » ou « m », un message d’erreur est affiché.
Utilisation :
1. Insérer le code dans l’éditeur VBA :
- Appuyez sur Alt + F11 pour ouvrir l’éditeur VBA.
- Dans le menu, cliquez sur Insertion > Module.
- Collez le code dans la fenêtre du module.
2. Exécuter la macro :
- Retournez dans Excel et appuyez sur Alt + F8, puis sélectionnez ConvertirTexte et cliquez sur « Exécuter ».
- Une boîte de saisie apparaîtra pour que vous puissiez choisir la conversion (majuscules ou minuscules).
Améliorations possibles :
- Ajouter un contrôle pour convertir uniquement le texte dans les cellules (en ignorant les cellules vides ou les valeurs numériques).
- Étendre la fonctionnalité pour prendre en charge des transformations plus complexes (par exemple, le titre de capitalisation).
Ce code permet de simplifier la conversion du texte dans Excel tout en permettant à l’utilisateur de faire un choix direct entre les majuscules et les minuscules.