Macro de mise en forme de texte

Le
Dav
Bonjour

Sur le site Excelabo j'ai utilisé une macro qui permet de mettre en forme du
texte dans une plage de données après saisie.

Private Sub Worksheet_Change(ByVal zz As Range)
If Intersect(zz, [B2:B200]) Is Nothing Then Exit Sub
Application.EnableEvents = False
zz = UCase(zz)
Application.EnableEvents = True
End Sub

Cette macro permet effectivement de passer le texte de la plage de cellule
référencée en majuscule.

Dans mon fichier je souhaite modifier après saisie plusieurs plages.
Soit la première en majuscule, la deuxième en minuscule et la troisième en
"Nom Propre"
Mon compétences et connaissances ne m'ont pas permis d'arriver à ce résultat.
Quelqu'un pourrait-il me conseiller ?

Merci d'avance
--
Dav
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Dav
Le #4857511
Bonjour Papou

Merci pour ta participation.
C'est vrai qu'en se bottant un peu les fesses et en se donnant la peine de
réflechir, on peut arriver à quelque chose de concluant.

Voici ce à quoi je suis arrivé :

Private Sub Worksheet_Change(ByVal zz As Range)
For Each Cell In [B2:B200]
If Intersect(zz, [B2:B200]) Is Nothing Then Exit For
Application.EnableEvents = False
zz = LCase(zz)
Application.EnableEvents = True
Next
For Each Cell In [C2:C200]
If Intersect(zz, [C2:C200]) Is Nothing Then Exit For
Application.EnableEvents = False
zz = UCase(zz)
Application.EnableEvents = True
Next
If Intersect(zz, [A2:A200]) Is Nothing Then Exit Sub
Application.EnableEvents = False
zz = Application.WorksheetFunction.Proper(zz)
Application.EnableEvents = True
End Sub

Ca fonctionne correctement à priori.

--
Dav



Bonjour
Tu as le point de départ avec le code exemple.
Tu devrais donc pouvoir adapter en :
- ajoutant un test sur d'autres plages
- utilisant la fonction LCase pour minuscules
- utilisant la fonction Proper (disponible à partir de
Application.WorksheetFunctions) pour Nom propre

Cordialement
Pascal

"Dav"
Bonjour

Sur le site Excelabo j'ai utilisé une macro qui permet de mettre en forme
du
texte dans une plage de données après saisie.

Private Sub Worksheet_Change(ByVal zz As Range)
If Intersect(zz, [B2:B200]) Is Nothing Then Exit Sub
Application.EnableEvents = False
zz = UCase(zz)
Application.EnableEvents = True
End Sub

Cette macro permet effectivement de passer le texte de la plage de cellule
référencée en majuscule.

Dans mon fichier je souhaite modifier après saisie plusieurs plages.
Soit la première en majuscule, la deuxième en minuscule et la troisième en
"Nom Propre"
Mon compétences et connaissances ne m'ont pas permis d'arriver à ce
résultat.
Quelqu'un pourrait-il me conseiller ?

Merci d'avance
--
Dav







Publicité
Poster une réponse
Anonyme