IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Erreur d'exécution 13


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 21
    Par défaut Erreur d'exécution 13
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    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

  2. #2
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Par défaut
    bonjour,
    l'erreur 13 , c'est quand tu "mélanges" les type style : des alpha avec des num

    dans ta ligne 34 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     MAP = InputBox("combien le client pense payé le " & Date_paiemt.Value & "?")
    Date_paiemt.Value est une valeur,
    teste ce code qui transforme cette valeur en texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     MAP = InputBox("combien le client pense payé le " & Cstr(Date_paiemt.Value) & "?")
    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  3. #3
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,

    Le problème c'est plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim MAP As Double
    'et
    MAP = InputBox("combien le client pense payé le " & Date_paiemt.Value & "?")
    InputBox renvoie une donnée de type string !
    La conversion implicite ne s'effectue pas quand la réponse n'est pas numérique, d'où l'erreur de compatibilité de type.

    Il faut recevoir le résultat dans une chaine (String) et vérifier qu'il est numérique.

  4. #4
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Par défaut
    bonjour,
    bien vu Patrice740
    MAP est donc un "type" num et en réponse il attend donc une réponse de "type" num

    est ce que la solution serait de déclarer "MAP as String" et d'utiliser val(MAP) ?

    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  5. #5
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,

    Une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim REP As String
    Dim MSG As String
    Dim MAP As Double
     
      MSG = "Combien le client pense payé le " & Date_paiemt.value & " ?"
      Do While Not IsNumeric(REP)
        REP = InputBox(MSG)
        If REP = "" Then Exit Sub
        MSG = "Vous devez entrer un montant valide ! " & vbCrLf & vbCrLf & _
              "Combien le client pense payé le " & Date_paiemt.value & " ?"
      Loop
      MAP = REP

Discussions similaires

  1. [JVM][8.1.7] Erreur d'exécution de initjvm.sql
    Par Escuzze dans le forum Oracle
    Réponses: 4
    Dernier message: 01/07/2005, 15h39
  2. Message d'erreur à l'exécution d'une install
    Par titof dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 22/03/2005, 11h20
  3. [CR8][VB6] Erreur d'exécution 20533
    Par pvava dans le forum SDK
    Réponses: 1
    Dernier message: 01/02/2005, 10h27
  4. Erreurs d'exécution sous delphi 5
    Par nkd dans le forum Langage
    Réponses: 3
    Dernier message: 06/11/2004, 17h25
  5. [Apache Perl] Erreur à l'exécution de mes cgi
    Par GLDavid dans le forum Apache
    Réponses: 4
    Dernier message: 28/08/2004, 20h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo