A voir également:
- Boucle VBA jusqu'à validation condition
- Ethernet n'a pas de configuration ip valide - Guide
- Excel cellule couleur si condition texte - Guide
- Excel validation des données liste - Guide
- Mon pc s'allume et s'éteint en boucle - Forum Matériel & Système
- Commande en cours de validation fnac - Forum Réseaux sociaux
7 réponses
Peut-êtr eque mon post ne traduit pas correctement ce que je souhaite faire.
Je souhaite que la procédure ne prennent fin que lorsque cells(i,8) soit supérieur à cells(1,16)
Merci pour ceux qui prendront le temps de me donner un coup de main
Je souhaite que la procédure ne prennent fin que lorsque cells(i,8) soit supérieur à cells(1,16)
Merci pour ceux qui prendront le temps de me donner un coup de main
tu peux utiliser les Exit For pour sortir de tes for quand la condition est réalisée
c'est ça que tu veux ?
c'est ça que tu veux ?
Bonjour,
Si par hasard j'ai compris ta demande
le test de sortie se fait en arrivant sur la ligne ou se fait il après les calculs?
si ap^rès les calculs
si "en arrivant"
.
Michel
Si par hasard j'ai compris ta demande
le test de sortie se fait en arrivant sur la ligne ou se fait il après les calculs?
si ap^rès les calculs
.... If .Range("H" & i) < .Range("P1") Then .Range("F" & i) = .Range("H" & i) + 1 .Range("H" & i) = .Range("F" & i) + .Range("G" & i) If .Range("H" & i) >= .Range("P1") Then Exit Sub End If...
si "en arrivant"
.
.. If .Range("H" & i) >= .Range("P1") Then Exit For Else .Range("F" & i) = .Range("H" & i) + 1 .Range("H" & i) = .Range("F" & i) + .Range("G" & i) End If
Michel
Bonjour,
Ce mec la n'était pas une lumière, car il était niais.
Dim Derlig As Long, i As Long With Sheets("FTP") Derlig = .Range("F" & Rows.Count).End(xlUp).Row i = 2 Do Until .Cells(i, 8) >= .Cells(1, 16) .Range("F" & i) = .Range("H" & i) + 1 .Range("H" & i) = .Range("F" & i) + .Range("G" & i) i = i +1 Loop End With End Sub
Ce mec la n'était pas une lumière, car il était niais.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci à tous,
Pour ma part voici ce que j'avais fait.
Je vais essayer ta procédure chossette car la mienne est bien lente
Pour ma part voici ce que j'avais fait.
Je vais essayer ta procédure chossette car la mienne est bien lente
Dim Derlig As Long, i As Long With Sheets("FTP") Derlig = .Range("F" & Rows.Count).End(xlUp).Row For i = 2 To Derlig While .Cells(i, 8) < .Cells(1, 16) If .Cells(i, 8) < .Cells(1, 16) Then .Range("F" & i) = .Range("H" & i) + 1 .Range("H" & i) = .Range("F" & i) + .Range("G" & i) End If Wend Next i End With End Sub
Chossette,
Le code que tu m'a communiqué n'agit pas sur les dates.
Merci quand même
Le code que tu m'a communiqué n'agit pas sur les dates.
Merci quand même
Bizarre, si ça fonctionnait avant, je ne vois pas pourquoi ça ne fonctionnerait plus maintenant. J'ai juste modifié le code pour qu'il fasse ce que tu demandes, jusqu'à ce que Cellule(i, 8) soit supérieure ou égale à Cellule(1,16).
Tu peux mettre un exemple de ce que tu souhaites faire ? Rends-toi sur cjoint.com pour créer un lien, et copie ensuite ce lien en réponse à cette conversation.
Cordialement.
Tu peux mettre un exemple de ce que tu souhaites faire ? Rends-toi sur cjoint.com pour créer un lien, et copie ensuite ce lien en réponse à cette conversation.
Cordialement.
houlà, pas sur que ça soit super de faire ça, une double boucle ?, est-ce vraiment utile?
le plus simple serait :
le plus simple serait :
Dim Derlig As Long, i As Long With Sheets("FTP") Derlig = .Range("F" & Rows.Count).End(xlUp).Row For i = 2 To Derlig If .Cells(i, 8) < .Cells(1, 16) Then .Range("F" & i) = .Range("H" & i) + 1 ' peut etre mieux avec ça : =====>> .Cells(i,6) = .Cells(i,8)+1 ' .Cells(i,6) = .Cells(i,8)+1 .Range("H" & i) = .Range("F" & i) + .Range("G" & i) ' peut etre mieux avec ça : =====>> '.Cells(i,8) = .Cells(i,6) + .Cells(i,7) exit for End If Next i End With End Sub