XL 2013 Simplification code VBA

  • Initiateur de la discussion Initiateur de la discussion Looper
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Looper

XLDnaute Nouveau
Bonjour,

Je débute en VBA et j'aimerais savoir si il y a moyen de simplifier mon code VBA inclus dans la feuille 1 de mon classeur.

Explications :

J'ai écris ce code pour que dans les cellules déverrouillées de ma feuille, si on écrit en minuscule, ce soit automatiquement transcrit en majuscule. Ca fonctionne .... mais je me demande si il n'y a quand même pas moyen de simplifier ce code ! (vous verrez par vous même).

De plus, mon classeur va comporter 56 feuilles identiques (pour la mise en forme). Je me vois mal appliquer ce code aux 56 pages ! Là aussi , pouvez-vous m'aider à mettre ce code au bon endroit pour qu'il soit appliqué à toutes les feuilles de mon classeur.

Notez que les feuilles sont verrouillées par mdp (mdp : test). Pour le code, ca ne pose pas de problème vu que les cellules dans lesquelles je dois écrire sont bien déverrouillées.

J'espère avoir été assez clair.
 

Pièces jointes

Solution
Bonjour à tous,
Perso. je ferais comme ceci
A placer dans le ThisWorkbook
VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    Application.EnableEvents = False
    Target = UCase(Target)
    Application.EnableEvents = True
End Sub
Un tout grand merci pour l'aide, ça fonctionne impeccablement pour l'usage que je dois en faire !
Bonjour,

Dans le module ThisWorkbook, mets :

VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  Dim C As Range
  For Each C In Target
    If C.Locked = False Then C.Value = UCase(C.Value)
  Next C
End Sub

Daniel
Perfect ! Un tout grand merci Daniel ! Par contre si je vide la cellule et que je la laisse vide, j'ai un message d'erreur (voir le fichier joint)

Merci d'avance 🙂
 

Pièces jointes

  • vba_error.JPG
    vba_error.JPG
    17.8 KB · Affichages: 8
Dernière édition:
Bonjour,

Je débute en VBA et j'aimerais savoir si il y a moyen de simplifier mon code VBA inclus dans la feuille 1 de mon classeur.

Explications :

J'ai écris ce code pour que dans les cellules déverrouillées de ma feuille, si on écrit en minuscule, ce soit automatiquement transcrit en majuscule. Ca fonctionne .... mais je me demande si il n'y a quand même pas moyen de simplifier ce code ! (vous verrez par vous même).

De plus, mon classeur va comporter 56 feuilles identiques (pour la mise en forme). Je me vois mal appliquer ce code aux 56 pages ! Là aussi , pouvez-vous m'aider à mettre ce code au bon endroit pour qu'il soit appliqué à toutes les feuilles de mon classeur.

Notez que les feuilles sont verrouillées par mdp (mdp : test). Pour le code, ca ne pose pas de problème vu que les cellules dans lesquelles je dois écrire sont bien déverrouillées.

J'espère avoir été assez clair.
Bonjour à tous,
Perso. je ferais comme ceci
A placer dans le ThisWorkbook
VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    Application.EnableEvents = False
    Target = UCase(Target)
    Application.EnableEvents = True
End Sub
 

Pièces jointes

Bonjour à tous,
Perso. je ferais comme ceci
A placer dans le ThisWorkbook
VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    Application.EnableEvents = False
    Target = UCase(Target)
    Application.EnableEvents = True
End Sub
Un tout grand merci pour l'aide, ça fonctionne impeccablement pour l'usage que je dois en faire !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
32
Affichages
978
Réponses
3
Affichages
115
Réponses
5
Affichages
267
Réponses
72
Affichages
1 K
Réponses
4
Affichages
224
Réponses
3
Affichages
673
Retour