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

NicolasE

XLDnaute Junior
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!
 

PascalXLD

XLDnaute Barbatruc
Modérateur
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
 

NicolasE

XLDnaute Junior
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
 

vbacrumble

XLDnaute Accro
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+
 

Discussions similaires

Réponses
2
Affichages
162

Statistiques des forums

Discussions
312 563
Messages
2 089 681
Membres
104 252
dernier inscrit
dbsromaric