Erreur d'exécution 13 l

Résolu/Fermé
zenastytos Messages postés 16 Date d'inscription samedi 20 décembre 2014 Statut Membre Dernière intervention 26 mai 2017 - 25 mai 2017 à 10:59
zenastytos Messages postés 16 Date d'inscription samedi 20 décembre 2014 Statut Membre Dernière intervention 26 mai 2017 - 25 mai 2017 à 12:46
Bonjour,
j'ai chercher mon cas sur le forum en vain. voila mon cas il s'agit d'un ligne de code qui doit remplir une feuille excel ,donc j'ai crée un inputbox pour le faire mais quand je lance le code arrivé a ce niveau ca me renvoie erreur.
voici le code . merci il s'agit de la ligne 34
Private Sub ENREGISTREMENT_Click()
Dim MAP As Double
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

Else
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
    End If
Next i
End If
    Nom_Clt.Value = ""
    Télphon_Clt.Value = ""
    Date_paiemt.Value = ""


End Sub




1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
25 mai 2017 à 11:55
Bonjour,

Sur quelle ligne, l'erreur ???

Sans le fichier, ce code semble fonctionner mais il manque la définition de de la variable Derligne :
For i = 1 To Derline(1, 1) 

Tu devrais commencer tous les modules par :
Option Explicit

Ça oblige à déclarer toutes les variables et ça limite ce genre d'erreur.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 25 mai 2017 à 12:19
Regardes ici:
https://www.developpez.net/forums/d1702027/logiciels/microsoft-office/excel/macros-vba-excel/erreur-d-execution-13-a/#post9311971

Et j'ajouterais que poster sur plusieurs forums, sans l'indiquer dans son message, est un manque de respect envers les bénévoles qui te consacrent de leur temps pour résoudre ton problème !
Ils perdent leur temps avec des questions qui sont peut-être déjà résolues sur les autres forums.
Pendant ce temps là, ils pourraient répondre à d'autres personnes qui eux aussi ont besoin d'aide.

Patrice
0
zenastytos Messages postés 16 Date d'inscription samedi 20 décembre 2014 Statut Membre Dernière intervention 26 mai 2017
Modifié le 25 mai 2017 à 12:59
ok merci je vois
merci ca a marché
si je déclare MAP as string aussi
0