Mise en forme texte
Le
glop

Bonjour
Je souhaite mettre en forme automatiquement (en majuscules par exemple)
du texte saisi dans différentes cellules. J'ai trouvé la macro suivante
(sur Excelabo) qui marche trés bien (tant que je reste avec une zone
continue et une seule mise en forme) :
Private Sub Worksheet_Change(ByVal zz As Range)
If Intersect(zz, [A3:A4502]) Is Nothing Then Exit Sub
Application.EnableEvents = False
zz = UCase(zz)
Application.EnableEvents = True
End Sub
Mais je n'arrive pas à la modifier :
* pour des plages discontinues (clonne A, Colonne C, Colonne R) avec
la meme mise en forme (tout en majuscules, par exemple);
* ou plus compliqué, des résultats différents par plages (minuscules,
premiere lettre majuscule par colonnes).
Est ce possible ?
Si quelqu'un a des dées là dessus, merci de m'en faire part.
Je souhaite mettre en forme automatiquement (en majuscules par exemple)
du texte saisi dans différentes cellules. J'ai trouvé la macro suivante
(sur Excelabo) qui marche trés bien (tant que je reste avec une zone
continue et une seule mise en forme) :
Private Sub Worksheet_Change(ByVal zz As Range)
If Intersect(zz, [A3:A4502]) Is Nothing Then Exit Sub
Application.EnableEvents = False
zz = UCase(zz)
Application.EnableEvents = True
End Sub
Mais je n'arrive pas à la modifier :
* pour des plages discontinues (clonne A, Colonne C, Colonne R) avec
la meme mise en forme (tout en majuscules, par exemple);
* ou plus compliqué, des résultats différents par plages (minuscules,
premiere lettre majuscule par colonnes).
Est ce possible ?
Si quelqu'un a des dées là dessus, merci de m'en faire part.
Essaie comme ceci :
La procédure s'applique pour les colonnes 1, 3, 18 (A, C, R)
Tu peux ajouter toutes les colonnes que tu désires...
'--------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range, Cel As Range
For Each C In Target.Columns
Select Case C.Column
Case 1, 3, 18
Application.EnableEvents = False
For Each Cel In C.Cells
Cel.Value = UCase(Cel)
Next
Application.EnableEvents = True
End Select
Next
End Sub
'--------------------------------------
MichD
---------------------------------------------------------------
"glop" a écrit dans le message de groupe de discussion : k0ft83$ck5$
Bonjour
Je souhaite mettre en forme automatiquement (en majuscules par exemple)
du texte saisi dans différentes cellules. J'ai trouvé la macro suivante
(sur Excelabo) qui marche trés bien (tant que je reste avec une zone
continue et une seule mise en forme) :
Private Sub Worksheet_Change(ByVal zz As Range)
If Intersect(zz, [A3:A4502]) Is Nothing Then Exit Sub
Application.EnableEvents = False
zz = UCase(zz)
Application.EnableEvents = True
End Sub
Mais je n'arrive pas à la modifier :
* pour des plages discontinues (clonne A, Colonne C, Colonne R...) avec
la meme mise en forme (tout en majuscules, par exemple);
* ou plus compliqué, des résultats différents par plages (minuscules,
premiere lettre majuscule... par colonnes).
Est ce possible ?
Si quelqu'un a des dées là dessus, merci de m'en faire part.
Bonjour
Super ! Merci pour cette efficace et trés rapide réponse ^^