Excel 2007 Mise en forme Majuscule sur des plages
Résolu
Mouftie
Messages postés
234
Statut
Membre
-
mouftie -
mouftie -
Bonjour,
Je voudrais que les saisies faites sur certaines plages de toutes les feuilles du classeur se mettent automatiquement en majuscule ; j'ai trouvé pleins de solutions, aucune ne fonctionne pour moi (toutes positionnées dans ThisWorkbook) :
ou encore :
ou encore
Est-ce que qq'1 vcomprend mon pb et peut m'aider ?
Je voudrais que les saisies faites sur certaines plages de toutes les feuilles du classeur se mettent automatiquement en majuscule ; j'ai trouvé pleins de solutions, aucune ne fonctionne pour moi (toutes positionnées dans ThisWorkbook) :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:C3, A6:C7, A11:C14")) Is Nothing Then Target = UCase(Target)
End Sub
ou encore :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Converti les saisies en majuscule
Target.Value = UCase(Target.Value)
End Sub
ou encore
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 1 Then 'Si la modification a été effectuée sur la ligne 1 alors on met tout en majuscule Target.Value = UCase(Target.Value) 'On met en majuscule End If End Sub
Est-ce que qq'1 vcomprend mon pb et peut m'aider ?
3 réponses
-
Bonjour
Si tes macros sont dans le module Thisworkbook, la syntaxe est par exemplePrivate Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Michel -
Bonjour,
je confirme ce que vient de dire Michel_m :
- les macros dans 'Thisworkbook' commencent par Workbook_
- les macros dans une feuille commencent par Worksheet_
Donc soit tu déplaces tes macros Worksheet sur la feuille concernée par la conversion en majuscules, soit tu les modifies selon ce qu'a gentiment indiqué michel_m.
Cordialement.
-
Bonjour, Merci à vous deux.
Effectivement, comme débutante, j'ai encore du mal avec le choix pour inserrer le code.
Maintenant que j'ai mis, dans thisWorkbook,Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 'Converti les saisies en majuscule If Not Intersect(Target, Range("A1:s3, A6:s7, A11:s14")) Is Nothing Then Target = UCase(Target) End Subsi j'écris qq sur n'importe quelle feuille (dans les plages spécifiées), Excel converntit bien en majuscule, mais il moulinne en clignotant jusqu'à ce que j'échappe ou pause.
Pourquoi ?-
C'est normal car ton déclenchement s'effectue lors d'un changement dans la cellule cible donc la macro mouline...
If Not Intersect(Target, Range("A1:s3, A6:s7, A11:s14")) Is Nothing Then Application.EnableEvents = False Target = UCase(Target) Application.EnableEvents = True End If
Enableevents=False désamorce les événements délencheurs -
-
-