Saut de boucle For Next
A
Bonjour,
j'aimerais savoir si je pouvais sauter une boucle ( en gros ne pas prendre la valeur n mais la n+1)
If Nbdepanneaux > Sheets("Données_d'entrée").Cells(c, 3).Value Then
Nbdepanneaux = Sheets("Données_d'entrée").Cells(c, 3).Valuej'aimerais savoir si quand le code ci-dessus est correct (dans la partie "PERMET DE SAVOIR LE NOMBRE DE PANNEAUX QUE JE PEUX RENTRER...), je peux sauter une valeur dans le For Next situé dans une autre partie ?
En espérant avoir été clair.
Sub Modification_NON()
Dim Nbdepanneaux As Integer
Nbdepanneaux = 0
Dim c As Integer
For c = 8 To (Nombre_de_ligne.TextBox1.Value + 7)
If Sheets("Données_d'entrée").Cells(c, 11).Value <> "" Then
Dim x As Integer
Do Until Sheets("Données_d'entrée").Cells(c, 11).Value * x > (Sheets("Données_d'entrée").Cells(c, 3).Value - Nbdepanneaux)
x = x + 1
Loop
r = x - 1
MsgBox r & " valeur de colis par type"
'---------- PARTIE POUR TROUVER LE NOMBRE DE PANNEAU ENTIER QU'ON PEUT CREER PAR TYPE DE PANNEAUX-------------------------
x = x + (5 - 1)
Z = 6
While Sheets("Colisage").Cells(Z, 2).Value <> ""
Z = Z + 1
x = x + 1
Wend
For a = Z To x
Sheets("Colisage").Cells(a, 2).Value = a - 5
Next a
Z = 0
x = 0
'-----------------------------------------------------------------------------------------------------------------------------------------------
'-------------------------------------------CALCUL DU NOMBRE DE PANNEAUX DE TYPE 2 A RAJOUTER---------------------------------------------------
Dim Nbpanneauxrestant As Integer
Dim Largeurcolisrestante As Integer
If Sheets("Données_d'entrée").Cells(c, 11).Value * r = Sheets("Données_d'entrée").Cells(c, 3).Value Then 'rajouter le cas où tout les panneaux sont ajouter dans le colis incomplet
Else
'------------------------------------PERMET DE CALCULER LA LARGEUR RESTANTE POUR COMPLETER LE COLIS--------------------------------------
Nbpanneauxrestant = Sheets("Données_d'entrée").Cells(c, 3).Value - Sheets("Données_d'entrée").Cells(c, 11).Value * r
Largeurcolisrestante = Sheets("Données_d'entrée").Cells(6, 13).Value - 190 * Nbpanneauxrestant
MsgBox Largeurcolisrestante & " Largeur de colis pour complêter"
'-----PERMET DE SAVOIR LE NOMBRE DE PANNEAU QUE JE PEUX RENTRER DANS LE COLIS ET SI CELA CORRESPOND AVEC LE NOMBRE DE PANNEAUX DISPO------
y = c + 1
Nbdepanneaux = Format(Largeurcolisrestante / Sheets("Données_d'entrée").Cells(y, 6).Value, "0")
If Nbdepanneaux > Sheets("Données_d'entrée").Cells(c, 3).Value Then
Nbdepanneaux = Sheets("Données_d'entrée").Cells(c, 3).Value
Else
Nbdepanneaux = Nbdepanneaux
End If
MsgBox Nbdepanneaux & " nombre de panneaux nécessaire pour compléter"Invité
Bonjour Arthur,
Sans fichier ni code entier
If Nbdepanneaux > Sheets("Données_d'entrée").Cells(c, 3).Value Then
Nbdepanneaux = Sheets("Données_d'entrée").Cells(c, 3).Value
Exit For
End IfA+
A
Etant sur l'ordinateur de ma boite, je ne préfère pas partager ni ouvrir d'Excel.
Voici par contre le code en entier :
Sub Modification_NON()
Dim Nbdepanneaux As Integer
Nbdepanneaux = 0
Dim c As Integer
For c = 8 To (Nombre_de_ligne.TextBox1.Value + 7)
If Sheets("Données_d'entrée").Cells(c, 11).Value <> "" Then
Dim x As Integer
Do Until Sheets("Données_d'entrée").Cells(c, 11).Value * x > (Sheets("Données_d'entrée").Cells(c, 3).Value - Nbdepanneaux)
x = x + 1
Loop
r = x - 1
MsgBox r & " valeur de colis par type"
'---------- PARTIE POUR TROUVER LE NOMBRE DE PANNEAU ENTIER QU'ON PEUT CREER PAR TYPE DE PANNEAUX-------------------------
x = x + (5 - 1)
Z = 6
While Sheets("Colisage").Cells(Z, 2).Value <> ""
Z = Z + 1
x = x + 1
Wend
For a = Z To x
Sheets("Colisage").Cells(a, 2).Value = a - 5
Next a
Z = 0
x = 0
'-----------------------------------------------------------------------------------------------------------------------------------------------
'-------------------------------------------CALCUL DU NOMBRE DE PANNEAUX DE TYPE 2 A RAJOUTER---------------------------------------------------
Dim Nbpanneauxrestant As Integer
Dim Largeurcolisrestante As Integer
If Sheets("Données_d'entrée").Cells(c, 11).Value * r = Sheets("Données_d'entrée").Cells(c, 3).Value Then 'rajouter le cas où tout les panneaux sont ajouter dans le colis incomplet
Else
'------------------------------------PERMET DE CALCULER LA LARGEUR RESTANTE POUR COMPLETER LE COLIS--------------------------------------
Nbpanneauxrestant = Sheets("Données_d'entrée").Cells(c, 3).Value - Sheets("Données_d'entrée").Cells(c, 11).Value * r
Largeurcolisrestante = Sheets("Données_d'entrée").Cells(6, 13).Value - 190 * Nbpanneauxrestant
MsgBox Largeurcolisrestante & " Largeur de colis pour complêter"
'---PERMET DE SAVOIR LE NOMBRE DE PANNEAU QUE JE PEUX RENTRER DANS LE COLIS ET SI CELA CORRESPOND AVEC LE NOMBRE DE PANNEAUX DISPO------
y = c + 1
Nbdepanneaux = Format(Largeurcolisrestante / Sheets("Données_d'entrée").Cells(y, 6).Value, "0")
If Nbdepanneaux > Sheets("Données_d'entrée").Cells(c, 3).Value Then
Nbdepanneaux = Sheets("Données_d'entrée").Cells(c, 3).Value
Else
Nbdepanneaux = Nbdepanneaux
End If
MsgBox Nbdepanneaux & " nombre de panneaux nécessaire pour compléter"
'------------------------------PERMET DE SAVOIR LE NOMBRE DE PANNEAUX DE TYPE 2 QU'IL ME RESTE APRES COMPLETEMENT---------
End If
'-------------------------------------------------------------------------------------------------------------------------------
'-------------------------------------------------------------------------------------------------------------------------------
Else
MsgBox "La valeur entrée pour le nombre de panneaux par colis est nul ! " & Chr(10) & Chr(13) & "Veuillez rentrer une valeur numérique ou éxecuter la macro.", vbCritical + vbOKOnly, "Valeur incorrect"
End If
Next c
End SubPour tout autre information, je reste à votre disposition.