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: