Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Lancer une Macro avant de changer d'onglet

  • Initiateur de la discussion Initiateur de la discussion rollingboy
  • 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 !

rollingboy

XLDnaute Nouveau
Bonjour à tous,

J'ai un classeur avec 2 feuilles "projet" et "planning". La feuille planning récupère via une Macro des éléments de la feuille projet pour se mettre à jour. Cette Macro est lancée sur l'évènement Activate
Code:
Private Sub Worksheet_Activate()
planning
End Sub
Code:
Sub planning()
Dim zone As Range
   Worksheets("planning").Range("A:F").Clear
   Set zone = Application.Intersect(Worksheets("projet").UsedRange, Worksheets("projet").Range("A:F"))
   zone.Copy: Worksheets("planning").Range("A3").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False

End Sub
Ceci fonctionne correctement.
Ce que je ne parviens à mettre en place c'est de mettre à jour la feuille projet juste avant de passer sur la feuille planning.
En effet, je dois pour les besoins du autre tache dupliquer le nom du projet dans la colonne A autant de fois que j'ai une donnée dans la C. Et je voudrais afin de faciliter la vie de l'utilisateur que çà se remplisse automatiquement.

J'ai fait ceci :
Code:
Sub TEST()
Range("c65536").End(xlUp).Activate
   ligne = ActiveCell.Row
   Range("B1").Select
   Selection.Copy
   Range("A3").Select
   ActiveSheet.Paste
   Application.CutCopyMode = False
   Selection.AutoFill Destination:=Range("A3:A" & ligne)
   Range("A" & ligne).Select
    
End Sub
çà marche quand je l'exécute manuellement mais je ne sais pas dans quel évènement l'intégrer.
Sur Desactivate çà ne fonctionne pas puisque je vais boucler avec "planning"

Quelqu'un a-t-il une idée?

Merci par avance
 
Re : Lancer une Macro avant de changer d'onglet

Merci Wil pour ta réponse mais j'ai trouvé une autre solution qui fonctionne en l'intégrant à un autre bout de code de ma feuille quej'appelle pour un control calendar

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If (Left(ActiveCell.Address, 2) = "$D") Or (Left(ActiveCell.Address, 2) = "$E") Then
        Load Calendrier
        Calendrier.Show

End If

Range("c65536").End(xlUp).Activate
ligne = ActiveCell.Row
   Range("B1").Select
   Selection.Copy
   Range("A3").Select
   ActiveSheet.Paste
   Application.CutCopyMode = False
   Selection.AutoFill Destination:=Range("A3:A" & ligne)
   Range("D65536").End(xlUp).Activate
   
    End Sub

A bientôt
 
- 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
18
Affichages
134
Réponses
10
Affichages
455
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…