Macro qui boucle

filou60

XLDnaute Nouveau
Bonjour à toutes et tous

Toujours Novice en VBA je bute sur un problème ,
j'ai mes données dans un onglet Suivi avec en colonne A une clé unique lorsque je lance mes macro soit Sg soit GS , celles ci passent en revue ma colonne A et en fonction d'un critère en colonne E , soit Cg ou GS , va copier la ligne dans une autre feuille qui se nomme Cg ou GS si cet enregistrement n'existe pas
Je précise que ces macro je les aient récup sur le Net pour les adapter à mon besoin (pas assez fort pour faire cela moi même)
Ces macro fonctionnent très bien , mais je voudrais qu'elles se lancent lorsque je quitte la feuille suivi
Malheureusement ma macro boucle et cela est normal car dans l'exécution je quitte plusieurs fois la feuille suivi
J'espère qu'il existe une solution
Je vous joint mon fichier en version light
Je vous remercie d'avance
 

Pièces jointes

  • Suivi Commande.xlsm
    63.3 KB · Affichages: 29

Modeste

XLDnaute Barbatruc
Re : Macro qui boucle

Bonjour filou60,

Une question: on ne peut pas "simplement" utiliser (en VBA) le filtre automatique? Le principe serait le suivant: chaque fois que tu activerais la feuille GS ou la feuille CG, le contenu en serait effacé; on filtrerait les enregistrements de la feuille Suivi -avec, comme critère, "GS" ou "CG"- et on ferait un copier-coller des résultats dans la feuille concernée?

Comme tu fais une recherche des doublons avant de copier un enregistrement, je ne sais si cette proposition t'agréerait :confused:
 

filou60

XLDnaute Nouveau
Re : Macro qui boucle

Bonjour Modeste ,

Merci de ta réponse
Malheureusement non car j'ai donné une version light de mon fichier mais dans les Onglets CG et Sg il y'a donc les colonnes de A à F qui sont copié automatiquement mais les autres colonnes de G à X sont remplis manuellement
Il faudrait que je soit sur de faire une copie toujours dans le même ordre mais je risque de faire des modifs

Merci

Filou60
 

Modeste

XLDnaute Barbatruc
Re : Macro qui boucle

Re-bonjour,

Toujours pas certain d'avoir compris les tenants et aboutissants :confused: ... À tester donc avec précaution ...

Dans la fenêtre de code de la feuille "GS", colle les lignes suivantes:
VB:
Private Sub Worksheet_Activate()
With Sheets("suivi")
    derlig = .Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To derlig
        If .Cells(i, 5) = "GS" And Application.CountIf([A:A], .Cells(i, 1)) = 0 Then .Cells(i, 1).Resize(1, 6).Copy Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
    Next i
End With
End Sub
Ce bout de code devrait s'exécuter à chaque activation de la feuille "GS"
 

Discussions similaires

Réponses
3
Affichages
320

Statistiques des forums

Discussions
312 493
Messages
2 088 959
Membres
103 990
dernier inscrit
lamiadebz