ange180190
XLDnaute Junior
Bonjour tout le monde ,
j'ai un petit problème de boucle que je voulais résoudre moi-même ms je suis dessus depuis hier et j'avoue que là je sais plus trop quoi faire...vos idées sont les bienvenues
je vous donne d'abord le code et vous explique en dessous ce que j'aimerais qu'il fasse :
alors j'aimerais que dès qu'il rencontre le nombre 31 ( jusqu'a 49 ) dans la cellule A(i) du classeur wb , qu'il copie ce qui se trouve dans la cellule F(i+1) de ce classeur ds le classeur wb2 et qu'il recopier sur chaque feuille à partir de cette cellule la ce qui se trouve dans F(i+1),F(i+2)
je vous donne un exemple ca sera peut etre plus clair :
Dans la cellule A30 il y a un 31 donc il doit prendre la valeur de F31 la recopier dans page1 , prendre F32 la recopier dans page1 (2) , prendre F33 la recopier dans page2 , F34 la recopier dans page2 (2), ainsi de suite jusqu'à ce qu'il ne rencontre plus de 31 ( à 49 ) dans les cellules A(i)
et avec le code que j'ai ou que j'ai fait avant , il me copie tjrs la dernière cellule de F dans une des pages :s
dsl d'avoir été si longue et merci bcp à tout ceux qui m'aideront !
bonne journée ,
ange180190.
j'ai un petit problème de boucle que je voulais résoudre moi-même ms je suis dessus depuis hier et j'avoue que là je sais plus trop quoi faire...vos idées sont les bienvenues
je vous donne d'abord le code et vous explique en dessous ce que j'aimerais qu'il fasse :
Code:
Dim Feuille1 As Worksheet
Boucle = 1
For Each Feuille1 In Worksheets
For i = 9 To 150
wb.Activate
Range("F" & (i + 1)).Select
Application.CutCopyMode = False
Selection.Copy
wb2.Activate
Sheets("page" & (Boucle)).Select
Range("B6").Select
ActiveSheet.Paste
Range("K6").Select
ActiveSheet.Paste
If wb.Sheets("Gestion dossiers").Cells(i, 1).Value >= 49 Or wb.Sheets("Gestion dossiers").Cells(i, 1).Value < 31 Then
i = (i + 1)
Else:
wb.Activate
Range("F" & (i + 2)).Select
Application.CutCopyMode = False
Selection.Copy
wb2.Activate
Sheets("page" & (Boucle) & (Chr(32)) & (Chr(40)) & "2" & (Chr(41))).Select
Range("B6").Select
ActiveSheet.Paste
Range("K6").Select
ActiveSheet.Paste
wb.Activate
Range("F" & (i + 3)).Select
Application.CutCopyMode = False
Selection.Copy
wb2.Activate
Sheets("page" & (Boucle)).Select
Range("B6").Select
ActiveSheet.Paste
Range("K6").Select
ActiveSheet.Paste
i = i + 2
End If
Next i
Next Feuille1
wb.Saved = False
alors j'aimerais que dès qu'il rencontre le nombre 31 ( jusqu'a 49 ) dans la cellule A(i) du classeur wb , qu'il copie ce qui se trouve dans la cellule F(i+1) de ce classeur ds le classeur wb2 et qu'il recopier sur chaque feuille à partir de cette cellule la ce qui se trouve dans F(i+1),F(i+2)
je vous donne un exemple ca sera peut etre plus clair :
Dans la cellule A30 il y a un 31 donc il doit prendre la valeur de F31 la recopier dans page1 , prendre F32 la recopier dans page1 (2) , prendre F33 la recopier dans page2 , F34 la recopier dans page2 (2), ainsi de suite jusqu'à ce qu'il ne rencontre plus de 31 ( à 49 ) dans les cellules A(i)
et avec le code que j'ai ou que j'ai fait avant , il me copie tjrs la dernière cellule de F dans une des pages :s
dsl d'avoir été si longue et merci bcp à tout ceux qui m'aideront !
bonne journée ,
ange180190.
Dernière édition: