Simplification du code VBA

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.

8classeur1.xlsm (22.49 Ko)

Bonsoir,

un essai :

@ bientôt

LouReeD

J'ai trouvé la solution sur un autre forum.

Je la post ici, ca peut toujours servi a quelqu'un d'autre

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

A placer dans ThisWorkbook. Fonctionne sur toutes les feuilles du classeur.

Evidemment, je me suis un peu compliquer la vie, puisque la feuille est protégée et que seule les cellules déverrouillées peuvent être modifiées !

Suis-je bête !

@ bientôt

LouReeD

Par contre, petite question :

Sur les feuilles , j'ai une cellule ou j'ai une fonction NBVAL qui comptabilise les entrées dans les cellules pour me donner le total des cellules remplies, mais depuis que ce code vba tourne, la fonction est systématiquement écrasée et laisse place à un 0.

Une idée ?

Merci d'avance

Vous parlez du code que l'on vous a fourni sur un autre forum ?

Faut que je le teste...

@ bientôt

LouReeD

Regardez les options de calculs et mettez la à "Automatique".

En effet, lorsqu'une cellule ne réagit pas à une formule que l'on sait "bonne" alors un petit coup de [F9] permet de voir qu'elle se met à jour... Donc les calculs sont en manuel...

Le soucis avec ThisWorkBook, c'est que cela fonctionne sur toutes les feuilles, même celles où l'on ne veut pas, à moins de tester le nom ou la position de la feuille où le "Change" a eu lieu.

@ bientôt

LouReeD

Rechercher des sujets similaires à "simplification code vba"