Astuce VBA : majuscules et minuscules

Pour convertir une chaîne de caractères en majuscules, utilisez la fonction UCase :

Sub test()

   MsgBox UCase("test 1") 'Renvoie TEST 1
   MsgBox UCase("Test 2") 'Renvoie TEST 2
   MsgBox UCase("TEST 3") 'Renvoie TEST 3
   MsgBox UCase("TeSt 4") 'Renvoie TEST 4

End Sub

Pour convertir une chaîne de caractères en minuscules, utilisez la fonction LCase :

Sub test()

   MsgBox LCase("test 1") 'Renvoie test 1
   MsgBox LCase("Test 2") 'Renvoie test 2
   MsgBox LCase("TEST 3") 'Renvoie test 3
   MsgBox LCase("TeSt 4") 'Renvoie test 4

End Sub

Astuce pratique : vérifier si une valeur est en majuscules (ou en minuscules)

Pour véfifier si une valeur est entièrement en majuscules, il existe une solution très simple qui consiste à vérifier si cette valeur est égale à cette même valeur en majuscules (en utilisant la fonction UCase).

Sub test()

    ma_valeur = "BonJOUR"
   
    If ma_valeur = UCase(ma_valeur) Then 'Test si en majuscules
        MsgBox "Oui, ma_valeur est (entièrement) en majuscules."
    Else
        MsgBox "Non, ma_valeur n'est pas (entièrement) en majuscules." '<= Valeur renvoyée (car ma_valeur contient des minuscules)
    End If

End Sub

Dans cet exemple la valeur "BonJOUR" n'est pas entièrement en majuscules, elle échoue donc au test ma_valeur = UCase(ma_valeur).

Sub test()

    ma_valeur = "BONJOUR 1234"
   
    If ma_valeur = UCase(ma_valeur) Then 'Test si en majuscules
        MsgBox "Oui, ma_valeur est (entièrement) en majuscules."'<= Valeur renvoyée (car ma_valeur ne contient aucune minuscule)
    Else
        MsgBox "Non, ma_valeur n'est pas (entièrement) en majuscules."
    End If

End Sub

Dans ce deuxième exemple la valeur "BONJOUR 1234" ne contient aucune minuscule, elle réussit donc le test ma_valeur = UCase(ma_valeur).

Pour vérifier si au contraire une valeur est entièrement en minuscules, remplacez simplement UCase par LCase.