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.