Microsoft 365 Code modifie Feuil1 quand change de feuille

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 !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

J'ai besoin qu'un code s'exécute quand je quitte la "Feuil1". C’est-à-dire quand je clique sur "Feuil2" ou une autre feuille.
J'ai pas mal cherché, beaucoup lu … trouvé des sujets "similaires" sur le forum, sur d'autres forums, sur le net …

J'ai relevé ce code qui fonctionne très bien :
VB:
Dim ok As Boolean
Private Sub Worksheet_Deactivate()
If ok = True Then Exit Sub
MsgBox "exécuté"
ok = True
MsgBox "pas exécuté"
ok = False
End Sub


J'ai aussi relevé 2 codes que j'ai tenté en les copiant :
dans le code de la Feuil1
dans le ThisWorkbook
Je n'arrive pas à les faire fonctionner et je ne comprends pas pourquoi !
Pourriez-vous me dire pourquoi ils ne fonctionnent pas chez moi ?
Et … cerise sur le gâteau "de Noel", voudriez-vous les corriger ?
Je joins le fichier test.
Avec mes remerciements,
Joyeux Noel,
Amicalement,
lionel,
 

Pièces jointes

Bonjour Arthour, bonjour le forum,

L'événement qui va se déclencher en sortant d'un onglet est, dans le composant de cet onglet :

VB:
Private Sub Worksheet_Deactivate()
Après, dis-nous ce que tu veux plutôt que de perdre du temps a corriger des codes relevés ici ou là...
 
Bonjour Robert,
Merci pour m'avoir répondu 🙂
J'espère plus clairement :
J'ai besoin qu'un code qui s'exécute sur la "Feuil1" quand je la quitte. C’est-à-dire quand je clique sur "Feuil2" ou une autre feuille.
VB:
Application.EnableEvents = False
Application.ScreenUpdating = False
Sheets("Feuil1").Select
Range("a2", Range("a1048576").End(xlUp)).Select
'ActiveSheet.Range("a2", Range("a2").End(xlDown).End(xlToRight)).Select
    Selection.RowHeight = 40
Application.EnableEvents = True
Application.ScreenUpdating = True

En espérant être plus clair 🙂
lionel,
 
Re,

Il est très étrange qu'en sortant de l'onglet Feuil1 tu sélectiones... l'onglet Feuil1 !?... La règle d'or en VBA c'est d'éviter autant que tu le peux les Select inutiles qui ne font que ralentir l'exécution du code et sont source de nombreux plantages.
Ton code corrigé :

VB:
Private Sub Worksheet_Deactivate()
Sheets("Feuil1").Range("A2:A" & Sheets("Feuil1").Cells(Application.Rows.Count, "A").End(xlUp).Row).EntireRow.RowHeight = 40
End Sub
 
- 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
14
Affichages
475
Retour