Majuscule dans colonnes

Résolu/Fermé
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 - 10 mai 2014 à 16:31
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 - 11 mai 2014 à 03:19
Bonjour,
j'ai un fichier ou dans les colonnes D H et O par macro je mets en majuscule
la macro fonctionne bien jusqu'à ce que je sélectionne plusieurs cellules et que je veux effacer la macro se met en erreur de type.
je comprends que les cellules sélectionnées ne sont pas dans la plage "zone_maj "
que j'ai définie de 3 a 250 dans les colonnes D H et O.
comment contourner ce problème?
peut on définir les cellules a mettre en majuscule sur toute la colonne ou au fur et a mesure que l'on rajoute des lignes?
je vous mets le fichier en exemple
https://www.cjoint.com/c/DEkqExeGhxC
merci de votre aide
a bientot
surplus

3 réponses

Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
Modifié par Mike-31 le 10/05/2014 à 16:48
Bonjour,

essaye comme cela

Private Sub Worksheet_Change(ByVal Target As Range)
'if Range("zone_maj")
On Error Resume Next
Application.EnableEvents = False
If Not Intersect(Target, Range("zone_maj")) Is Nothing Then
Application.EnableEvents = False
Target = UCase(Target)
End If
Application.EnableEvents = True
End Sub


A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4
10 mai 2014 à 17:30
bonjour
cela fonctionne bien
pour que je comprenne bien
vous avez rajouté
On Error Resume Next
cela veut dire que si y a erreur d"abandonner la macro?
merci
a bientot
0
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
10 mai 2014 à 18:45
Re,

Oui c'est exactement cela, ça évite de mettre le Visual en Erreur
j'ai également libéré cette ligne
Application.EnableEvents = False
si on applique l'Application.EnableEvents en début avec un False il faut rétablir l'application en fin de procédure avec Application.EnableEvents = True

uniquement Application.EnableEvents = True en fin de procédure comme tu avais fait ne sert à rien, autant le supprimer puisqu'en début tu n'avais pas suspendu l'application
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4
11 mai 2014 à 03:19
Re,
merci pour tes lumières
a bientôt
0