Soyez le premier à donner votre avis sur cette source.
Snippet vu 12 033 fois - Téléchargée 50 fois
Sub ConvertCasse() ' Déclaration des variables Dim element ' Traitement de la sélection For Each element In Selection Select Case True ' le contenu est en minuscule -> conversion en Majuscule (UCASE = Upper Case) Case element.Value = LCase(element.Value) element.Value = UCase(element.Value) ' le contenu est en majuscule -> conversion en initiale majuscule par appel à la fonction EXCEL : "NOMPROPRE()" Case element= UCase(element.Value) element.Value = Application.WorksheetFunction.Proper(element.Value) Case Else ' le contenu n'est ni majuscule, ni minuscule -> conversion en minuscule (LCASE= Lower Case) element.Value = LCase(element.Value) End Select Next ' Ajustement automatique de la colonne ActiveCell.Columns.AutoFit End Sub
15 avril 2008 à 20:55
Il suffit pour y remédier de changer l'ordre des comparaisons, soit :
Sub ConvertCasse()
' Déclaration des variables
Dim element
' Traitement de la sélection
For Each element In Selection
' Il ne faut pas modifier les cellules qui ne soient pas du texte
If element.HasFormula = False And element.Value <> "" Then
Select Case True
' le contenu est en majuscule
' -> conversion en minuscule (LCASE= Lower Case)
Case element.Value = UCase(element.Value)
element.Value = LCase(element.Value)
' le contenu est en minuscule -> conversion en nom propre par
' appel à la fonction EXCEL : "NOMPROPRE()"
Case element = LCase(element.Value)
element.Value = Application.WorksheetFunction.Proper(element.Value)
Case Else
' le contenu n'est ni en minuscule, ni nom propre,
' -> conversion en majuscule (UCASE = Upper Case)
element.Value = UCase(element.Value)
End Select
End If
Next
' Ajustement automatique de la colonne
ActiveCell.Columns.AutoFit
End Sub
Et hop ! ça marche. (J'ai rajouté un test pour éviter de replacer les formules par leur résultat.
Papol2
22 sept. 2004 à 23:23
"ActiveCell.Columns.AutoFit"
merci encore
30 janv. 2002 à 10:12
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.