Re : boucle For k = 1 To 7583 Step 19
Merci à vous trois pour vos réponses!
C'est la galère pour moi depuis plusieurs jours sur cette écrire ! je suis vraiment une brelle !
Voici la description de mon projet :
Sub Totaux()
Dim j, k, i As Long > déclaration variables
Application.ScreenUpdating = False > permet de stabiliser l'écran
Sheets("Saisie").Select > feuille Saisie selectionnée
Cells(2, 1).Select > cellule ligne 2 colonne 1 selectionnée
For k = 1 To 7583 Step 19 > boucle de 400 ligne dirigeante "" permettant de réinitialiser les boucles pour que i & j puisse être remis à sa valeur initiale ""
For j = 1 To 7583 Step 19 > boucle de 400 ligne soumise
If Cells(j + 17, 1).Value <> "" And Cells(j + 3, 9).Value = "" Then > si cellule ligne i + 17 lignes colonne 1 valeur différent de vide et cellule ligne i + 17 lignes colonne 1 valeur ligne j + 3 colonne 9 valeur égale vide
Cells(2, 10).Select > cellule (ligne 2, colonne 10) selectionnée "" changement de ligne & et colonne ""
For i = 1 To 400 > boucle jusqu'à 400 lignes
If Cells(i + 1, 10).Value = Cells(j + 3, 1) Then >> si cellule i + 1 cellule, colonne 10 valeur égale cellule J + 17 lignes colonne 1
Cells(i + 1, 11).Value = Cells(j + 17, 1) >>cellule i + 1 ligne colonne 11 valeur égale cellule j + 17 lignes colonne 1
Cells(i + 1, 12).Value = Cells(j + 17, 3)>>>"""""" idem colonne 3
Cells(i + 1, 13).Value = Cells(j + 17, 5)>>>"""""" idem colonne 5
Cells(i + 1, 14).Value = Cells(j + 17, 7)>>>"""""" idem colonne 7
Cells(i + 1, 15).Value = Cells(j + 18, 7)>>>"""""" idem ligne j + 18 colonne 7
Exit For>>> sort de la boucle
Else>>>sinon
Cells(i + 2, 10).Select>>>>>>>>>cellule i + 2 ligne , colonne 10 selectionné
End If >>>>>>fin si
Next i>>> fin boucle i
Cells(j + 3, 9).Value = Cells(i + 1, 10)>>>cellule j + 3 lignes, colonne 9 . valeur égale cellule i + 1ligne colonne 10
Exit For >>>>>><<fin boucle
Else >>>>>>>sinon
Cells(j + 20, 1).Select>>>>>>>>> cellule j + 20 lignes colonne 1 selectionnée
End If>>>> fin si
Next j>>>>>fin boucle j
Cells(2, 1).Select>>>cellule ligne 2 colonne 1 selectionnée de boucle k
Next k >>><fin boucle dirigeante k
Application.ScreenUpdating = True
End Sub
En ce qui concerne ton projet "Gael" sans vouloir t' offenser je suis pas bon :
Sub Totaux()
Dim j, k, i As Long
Application.ScreenUpdating = False
Sheets("Saisie").Select
For j = 1 To 7583 Step 19
If Cells(j + 17, 1).Value <> "" And Cells(j + 3, 9).Value = "" Then >>>la macro s'arrête à la ligne 42 car la colonne 1 et pleine et la ligne 4 et colonne K et vide
For i = 2 To 401
If Cells(i, 10).Value = Cells(j + 3, 1) >>>>Then remplissage des cellules
Cells(i, 11).Value = Cells(j + 17, 1)
Cells(i, 12).Value = Cells(j + 17, 3)
Cells(i, 13).Value = Cells(j + 17, 5)
Cells(i, 14).Value = Cells(j + 17, 7)
Cells(i, 15).Value = Cells(j + 18, 7)
Exit For >>>MAIS SORTIE TOTALE des boucles ( i & j) & fin de la procédure alors que la boucle j ("For j = 1 To 7583 Step 19") jusqu'à 400 lignes n'est pas finie
End If
Next i
Cells(j + 3, 9).Value = Cells(i, 10)
Exit For
End If
Next j
Application.ScreenUpdating = True
End Sub
Ainsi donc j'ai creé cette boucle k supplémentaire pour que j et i ne sort pas la macro puisqu'elle n'est pas à l'intérieur de j & i !!!
Mais l'inconvénient c'est qu'elle repart du début & évite la cellule pleine """Cells(j + 3, 9).Value = "">>><""" qui a été remplie avec la dernière boucle !
C'est complexe et même trop !!!