Problème avec la boucle For ....next i
Résolu
zenastytos
Messages postés
17
Statut
Membre
-
zenastytos Messages postés 17 Statut Membre -
zenastytos Messages postés 17 Statut Membre -
Bonjour à tous j'ai un petit souci avec mon boucle For
Quand j'exécute le code au lieu de parcourir la plage définie ,il prend directement la derline.
Voici mon code
Merci pour votre aide
Quand j'exécute le code au lieu de parcourir la plage définie ,il prend directement la derline.
Voici mon code
Private Sub ENREGISTREMENT_Click()
Dim MAP As String
If Dat_Acht.Value = "" Then
MsgBox ("Veuillez ajoutez un produit")
Exit Sub
End If
If Date_paiemt.Value = "" Then
Date_paiemt.Value = Date
End If
If Sheets("CLIENT").Cells(i + 1, 3) = "" Then
Sheets("CLIENT").Cells(i + 1, 3) = 0
End If
If Mt_Glb_Prdt.Value = "" Then
Mt_Glb_Prdt.Value = 0
End If
If 10000 <= Mt_Glb_Prdt.Value And Mt_Glb_Prdt.Value <= 50000 Then
Mt_net.Value = 0.95 * Mt_Glb_Prdt.Value
ElseIf Mt_Glb_Prdt > 50000 Then
Mt_net.Value = 0.9 * Mt_Glb_Prdt.Value
Else
Mt_net.Value = Mt_Glb_Prdt.Value
End If
If Mt_Glb_Prdt > 50000 Then
remise.Value = 0.1 * Mt_Glb_Prdt.Value
ElseIf 10000 <= Mt_Glb_Prdt.Value And Mt_Glb_Prdt.Value <= 50000 Then
remise.Value = 0.05 * Mt_Glb_Prdt.Value
Else
remise.Value = 0
End If
Sheets("VENTE").Cells(2, 12) = remise.Value
Sheets("VENTE").Cells(2, 13) = Mt_net.Value
If Nom_Clt.Visible = True Then
For i = 1 To Derline(1, 1)
If (Nom_Clt.Value = Sheets("CLIENT").Cells(i + 1, 1)) Then
Sheets("CLIENT").Cells(i + 1, 3) = Sheets("CLIENT").Cells(i + 1, 3) + Mt_net.Value
Sheets("CLIENT").Cells(i + 1, 5) = Date_paiemt.Value
MAP = InputBox("combien le client pense payé le " & (Date_paiemt.Value) & "?")
Sheets("CLIENT").Cells(i + 1, 6) = MAP
Range("G2").Select
ActiveCell.FormulaR1C1 = "=RC[-4]-RC[-1]"
Nom_Clt.Value = ""
Télphon_Clt.Value = ""
Date_paiemt.Value = ""
Exit Sub
End If
Sheets("CLIENT").Select
Rows("2:2").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("CLIENT").Cells(i + 1, 1) = Nom_Clt.Value
Sheets("CLIENT").Cells(i + 1, 2) = Télphon_Clt.Value
Sheets("CLIENT").Cells(i + 1, 3) = Mt_net.Value
Sheets("CLIENT").Cells(i + 1, 4) = Dat_Acht.Value
Sheets("CLIENT").Cells(i + 1, 5) = Date_paiemt.Value
MAP = InputBox("combien le client pense payé le " & Date_paiemt.Value & "?")
Sheets("CLIENT").Cells(i + 1, 6) = MAP
Range("G2").Select
ActiveCell.FormulaR1C1 = "=RC[-4]-RC[-1]"
Nom_Clt.Value = ""
Télphon_Clt.Value = ""
Date_paiemt.Value = ""
Exit Sub
Next i
End If
End Sub
Merci pour votre aide
2 réponses
-
Bonjour,
Derline n'est ni déclarée ni définie nulle part dans ton code. Regarde ce que vaut Derline(1, 1) (un tableau ???) au moment de l'exécution du code et tu auras sans doute la réponse...
À moins que ce ne soit une variable publique mais il faudrait savoir où tu la déclares et quand/comment elle est définie...
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, ta boucle ne sera jamais exécutée plusieurs fois, à cause duExit Sub
en ligne 67. est-ce ce que tu souhaites?