Boucle sur VBA
Fermé
Holtlion31
Messages postés
26
Date d'inscription
jeudi 6 février 2014
Statut
Membre
Dernière intervention
1 juin 2016
-
4 nov. 2015 à 10:07
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 4 nov. 2015 à 16:57
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 4 nov. 2015 à 16:57
2 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
4 nov. 2015 à 11:00
4 nov. 2015 à 11:00
Bonjour
Je ne peux vous donner mon extraction excel c'est professionnel rien ne vous empêche de mettre des données non confidentielles.
Cependant, vous pouvez toujours utiliser l'enregistreur de macros, faite au moins 2 à 3 cycles complets de vos manipulations et coller le résultat ici dans votre prochaine réponse. il ne restera qu'à faire une boucle pour que cela se reproduise 63 fois.
Cdlt
Je ne peux vous donner mon extraction excel c'est professionnel rien ne vous empêche de mettre des données non confidentielles.
Cependant, vous pouvez toujours utiliser l'enregistreur de macros, faite au moins 2 à 3 cycles complets de vos manipulations et coller le résultat ici dans votre prochaine réponse. il ne restera qu'à faire une boucle pour que cela se reproduise 63 fois.
Cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
4 nov. 2015 à 16:57
4 nov. 2015 à 16:57
RE
Voici, comme vous n'avez pas précisé, quels étaient les 3 jours de novembre, j'ai fait du 1 au 3, à vous de l'adapter si ce n'est pas ça.
Voici, comme vous n'avez pas précisé, quels étaient les 3 jours de novembre, j'ai fait du 1 au 3, à vous de l'adapter si ce n'est pas ça.
Sub RecopieZoneFiltée() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Set f1 = Sheets(ActiveSheet.Name) Annee = Year(Date) For m = 9 To 11 If m = 9 Then DerJour = 31 Mois = "09" ElseIf m = 10 Then DerJour = 30 Mois = 10 ElseIf m = 11 Then DerJour = 3 Mois = 11 End If For j = 1 To DerJour If j < 10 Then Jour = "0" & j Else Jour = j f1.Select ActiveSheet.AutoFilterMode = False ActiveSheet.Range("$P$22:$Q$91079").AutoFilter Field:=1, Criteria1:=j ActiveSheet.Range("$P$22:$Q$91079").AutoFilter Field:=2, Criteria1:=m NbCol = [B22].End(xlToRight).Column Range("_FilterDataBase").Offset(0, -14).Resize(, NbCol).SpecialCells(xlCellTypeVisible).Copy Sheets.Add After:=ActiveSheet ActiveSheet.Select ActiveSheet.Name = Right(Annee, 2) & Mois & Jour Range("A1").Select ActiveSheet.Paste Next j Next m Application.Calculation = xlCalculationAutomatic End SubCdlt
4 nov. 2015 à 11:21
J'ai déjà utilisé l'enregistreur de Macro et en bidouillant un peu je vais arriver à ce que je veux.
Mais je ne sais pas comment créer une boucle.
Si vous pouvez m'aider sur celà
4 nov. 2015 à 11:37
4 nov. 2015 à 14:31
'
' Macro3 Macro
'
'
ActiveSheet.Range("$P$22:$Q$91079").AutoFilter Field:=1, Criteria1:="2"
ActiveSheet.Range("$P$22:$Q$91079").AutoFilter Field:=2, Criteria1:="9"
Range("B22").Select
Range(Selection, Selection.End(xlToRight)).Select
Range("B22:O22").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets.Add After:=ActiveSheet
Sheets("Feuil2").Select
Sheets("Feuil2").Name = "150902"
Range("A1").Select
ActiveSheet.Paste
End Sub
Le nom de la feuille serai mis à jour en fonction du jour et du mois sélectionné dans le filtre