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 !

NICOALBERT

XLDnaute Occasionnel
Bonjour le forum ,

Je vient de créer une macro (en mode débutant je l'avoue 🙄) et j'aurais voulu savoir comment la modifier pour qu'elle soit moins lourde .

Car lorsque je lance ma recherche c'est interminable 😡 .

Cdlt Nicoalbert
 

Pièces jointes

Est ce qu'il n'y à pas la possibilité d'en créée qu'une seul qui interagit en fonction du bouton appuyer dans la feuille "Lancement Analyse"

exemple : quand j'appui sur le bouton 2 sa lance l'analyse pour les deux match présent dans "MDJ" et ainsi de suite ...
 
Le principe recherché dans la macro "Sub MacroComplete1()" est que lorsque je clique sur le bouton 1 de la feuille "Lancement Analyse" .

ça lance la macro ""domicile" puis "exterieur" et "Tete_a_tete" par rapport au match présent en ligne 2 de la feuille "MDJ".

Ensuite ça copie les résultats des 3 feuille (Domicile,Extérieur et Tête à tête) dans la feuille 1 à partir de la ligne 500 . et supprime la ligne 2 de la feuille "MDJ"

Mais lorsque je lance la macro en "pas à pas" c'est au passage de la macro "Tete_a_tete" que ça dure une plombe .
 
Re

Voici une macro beaucoup plus rapide pour Tête a tête . Demain je regarderai pour extérieur et domicile
Code:
Sub tete_a_tete2()
derlin = Sheets("BaseComplete").Range("A" & Rows.Count).End(xlUp).Row
Sheets("BaseComplete").Range("$A$2:$U$" & derlin).AutoFilter Field:=7, Criteria1:=Sheets("MDJ").Range("C2")
Sheets("BaseComplete").Range("$A$2:$U$" & derlin).AutoFilter Field:=9, Criteria1:=Sheets("MDJ").Range("D2")
Sheets("Tête à Tête").Range("A3:O" & Rows.Count).ClearContents
Sheets("BaseComplete").Range("A3:O" & Sheets("BaseComplete").Range("A" & Rows.Count).End(xlUp).Row).Copy Destination:=Sheets("Tête à Tête").Range("A3")
Sheets("BaseComplete").Range("$A$2:$U$" & derlin).AutoFilter Field:=7, Criteria1:=Sheets("MDJ").Range("D2")
Sheets("BaseComplete").Range("$A$2:$U$" & derlin).AutoFilter Field:=9, Criteria1:=Sheets("MDJ").Range("C2")
Sheets("BaseComplete").Range("A3:O" & Sheets("BaseComplete").Range("A" & Rows.Count).End(xlUp).Row).Copy Destination:=Sheets("Tête à Tête").Range("A" & Rows.Count).End(xlUp).Offset(1)
 
Voici les 3 macros
Code:
Sub tete_a_tete2()
Sheets("BaseComplete").Rows("2:2").AutoFilter
derlin = Sheets("BaseComplete").Range("A" & Rows.Count).End(xlUp).Row
Sheets("BaseComplete").Range("$A$2:$U$" & derlin).AutoFilter Field:=7, Criteria1:=Sheets("MDJ").Range("C2")
Sheets("BaseComplete").Range("$A$2:$U$" & derlin).AutoFilter Field:=9, Criteria1:=Sheets("MDJ").Range("D2")
Sheets("Tête à Tête").Range("A3:O" & Rows.Count).ClearContents
Sheets("BaseComplete").Range("A3:O" & Sheets("BaseComplete").Range("A" & Rows.Count).End(xlUp).Row).Copy Destination:=Sheets("Tête à Tête").Range("A3")
Sheets("BaseComplete").Range("$A$2:$U$" & derlin).AutoFilter Field:=7, Criteria1:=Sheets("MDJ").Range("D2")
Sheets("BaseComplete").Range("$A$2:$U$" & derlin).AutoFilter Field:=9, Criteria1:=Sheets("MDJ").Range("C2")
Sheets("BaseComplete").Range("A3:O" & Sheets("BaseComplete").Range("A" & Rows.Count).End(xlUp).Row).Copy Destination:=Sheets("Tête à Tête").Range("A" & Rows.Count).End(xlUp).Offset(1)
End Sub
Sub domicile2()
Sheets("BaseComplete").Rows("2:2").AutoFilter
derlin = Sheets("BaseComplete").Range("A" & Rows.Count).End(xlUp).Row
Sheets("BaseComplete").Range("$A$2:$U$" & derlin).AutoFilter Field:=7, Criteria1:= _
        "=" & Sheets("MDJ").Range("D2"), Operator:=xlOr, Criteria2:="=" & Sheets("MDJ").Range("C2")
Sheets("Domicile").Range("A3:O" & Rows.Count).ClearContents
Sheets("BaseComplete").Range("A3:O" & Sheets("BaseComplete").Range("A" & Rows.Count).End(xlUp).Row).Copy Destination:=Sheets("Domicile").Range("A3")
End Sub
Sub exterieur2()
Sheets("BaseComplete").Rows("2:2").AutoFilter
derlin = Sheets("BaseComplete").Range("A" & Rows.Count).End(xlUp).Row
Sheets("BaseComplete").Range("$A$2:$U$" & derlin).AutoFilter Field:=9, Criteria1:= _
        "=" & Sheets("MDJ").Range("D2"), Operator:=xlOr, Criteria2:="=" & Sheets("MDJ").Range("C2")
Sheets("Extérieur").Range("A3:O" & Rows.Count).ClearContents
Sheets("BaseComplete").Range("A3:O" & Sheets("BaseComplete").Range("A" & Rows.Count).End(xlUp).Row).Copy Destination:=Sheets("Extérieur").Range("A3")
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
704
Réponses
9
Affichages
943
E
Réponses
2
Affichages
1 K
E
Réponses
5
Affichages
700
Retour