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

Création d'une boucle dans ma "petite macro"

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

N

NicolasE

Guest
Bonjour à tous,

Dans un fichier xls , j'ai créé la macro suivante:

Sub maxpargroupe()

Sheets("Draft").Select
Range("C3").Select
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:="1"
Range("S3").Select
Selection.Copy
Sheets("test").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Sheets("Draft").Select
Range("C3").Select
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:="2"
Range("S3").Select
Selection.Copy
Sheets("test").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

end sub



En fait j'aimerai créer une boucle qui permette de faire marcher cette macro avec une incrementation des valeurs en rouge (ci-dessus) de +1 à chaque boucle, allant de la plage Range(1) à range (75) et de Criteria1(1) à Criteria (75) ..Ayant peu de connaissances en VBA je n'arrive pas à faire cette boucle, et faire un copier /coller 75fois ne me rejouis pas vraiment!....je pense que les connaisseurs pourront me repondre facilement et completer ma macro avec cette fameuse boucle!...

Je vous remercie par avance!!
J'espere avoir été clair dans ma question...
A bientot!
 
Re : Création d'une boucle dans ma "petite macro"

Bonjour essaies

for x = 1 to 75
Sheets("Draft").Select
Range("C3").Select
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:=x
Range("S3").Select
Selection.Copy
Sheets("test").Select
Range("A" & x).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Next
 
Re : Création d'une boucle dans ma "petite macro"

Ok je vous remercie PascalXLD!!
Ca marche parfaitement!!

J'aurai une petite question supplémentaire:

Dans ma macro, j'ai cela: Selection.AutoFilter Field:=3, Criteria1:="1"
J'aimerai que la boucle se termine lors de ma derniere valeur du filtre automatique. Moi j'avai 75 valeurs, mais il se peut que j'en ai 80 voir plus, donc comment je pourrai automatiser le chiffre en rouge (ci-dessus) de sorte qu'il se mette a jour en fonction du nombre de valeur de mon filtre?..

Je vous remercie par avance!
Cordialement,

NicolasE
 
Re : Création d'une boucle dans ma "petite macro"

Bsr


Une modification reprenant la macro précédente mais en ôtant les select (et en figeant l'écran)

Code:
Sub macrom()
Application.ScreenUpdating = False
For x = 1 To 75
Sheets("Draft").Range("C3").AutoFilter Field:=3, Criteria1:=x
    With Range("S3")
        .Copy
        Sheets("test").Range("A" & x).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    End With
Next
Application.ScreenUpdating = True
End Sub

A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
801
Réponses
18
Affichages
604
Réponses
2
Affichages
401
Réponses
17
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…