Erreur d'exécution 13 l [Résolu/Fermé]

Signaler
Messages postés
16
Date d'inscription
samedi 20 décembre 2014
Statut
Membre
Dernière intervention
26 mai 2017
-
Messages postés
16
Date d'inscription
samedi 20 décembre 2014
Statut
Membre
Dernière intervention
26 mai 2017
-
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

Messages postés
8184
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
10 septembre 2020
1 463
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.
Messages postés
8184
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
10 septembre 2020
1 463
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
Messages postés
16
Date d'inscription
samedi 20 décembre 2014
Statut
Membre
Dernière intervention
26 mai 2017

ok merci je vois
merci ca a marché
si je déclare MAP as string aussi