erreur d'exécution 13, en y mettant du texte

  • Initiateur de la discussion Initiateur de la discussion news
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

news

XLDnaute Impliqué
Bonsoir à tous du forum,

j'ai suivi un cours Excel, c'était un peu trop théorique,
j'ai fait différents test d'application, mais il y des bug.

en y mettant 2 fois de suite du text aulieu d'un nombre,
il y a un bug, " erreur d'exécution 13 "


puis dans "This Workbook", sous
Sub Workbook_BeforeClose(Cancel As Boolean)

comment y mettre 2 conditions :
si G4 is empty, le fichier ne peut pas se fermer
si C2 < 0, le fichier ne peut pas se fermer

ci-joint fichier explicite,
 

Pièces jointes

Dernière édition:
Re : erreur d'exécution 13, en y mettant du texte

Bonjour

l'erreur 13 viend du fait qu'une variable est déclarée selon un type de données et qu'on essaye d'y affecter un autre type. maintenant si ta variable peut prendre plusieurs types de données différents, tu dois la définir en variant

Code:
Sub Workbook_BeforeClose(Cancel As Boolean) 
      il sheets("MaFeuille").range("C2")<0 then  cancel = true
      il sheets("MaFeuille").range("G4")="" then cancel = true
end sub
 
Re : erreur d'exécution 13, en y mettant du texte

Bonsoir,

merci pour réponse Wilfried_42,

la 1ière question ou bug est: ( en y mettant 2 fois de suite du text aulieu d'un nombre, il y a un bug, " erreur d'exécution 13 ")
Si je met dans l'inputbox du texte, cela fonctionne. Mais dès que je remets une 2e fois du texte aulieu d'un nombre, alors il y a le bug "erreur 13"

le vba utilisé:

Code:
If Sheets(6).[G4] Is Empty Then
2       LA_REPONSE = InputBox(vbCr & vbCr & vbCr & _
                         "to put amount", _
                         -20000)
WorksheetFunction.IsNumber (LA_REPONSE * 1)
On Error GoTo 9
[G4].Value = LA_REPONSE * 1
9   L_ERREUR = MsgBox("La valeur saisie doit être un nombre !!!" & vbCr & vbCr & "restart and put the correct amount ?", 52, "  ATTENTION :")
    If L_ERREUR = vbYes Then GoTo 2


En fait j'ai mis 2 questions sur un sujet,
dans "This Workbook", sous : Sub Workbook_BeforeClose(Cancel As Boolean)

comment y mettre 2 conditions :
si G4 is empty, le fichier ne peut pas se fermer
si C2 < 0, le fichier ne peut pas se fermer


le vba utilisé :
Code:
Sub Workbook_BeforeClose(Cancel As Boolean) 
With Worksheets("data")  ' pour indiquer que cela concerne que Wordksheet "data"
' -------------------------
' si le solde n'est pas mis, le fichier ne peut se fermer,
' -------------------------
If Range("G4") = "" Then
réponse = MsgBox("you have first to enter the reports," + Chr(13) + Chr(13) + _
                "otherwise the file will not be closed", vbInformation, "                                    Information about saldo to put")
        Worksheets("E").Activate
    Cancel = True
    End
    End If
' -------------------------
' verifying if saldo of is not negative
' -------------------------
    If Range("C2").Value >= 0 Then
        ActiveWorkbook.Save
        Worksheets(".- -.").Activate
On Error Resume Next
        ActiveWorkbook.Save
        Application.Quit ' va fermer Excell
    Else
        Application.DisplayAlerts = False
        ActiveWorkbook.Saved = True
    info_minus.Show 0
        If Range("A4") <> 0 Then
            Range("E5").Select
        ElseIf Range("C5") <> 0 Then
            Range("E5").Select
        ElseIf Range("A20") <> 0 Then
            Range("C5").Select
        End If
    End If
End With
ThisWorkbook.Save
End Sub

en ouvrant la nouvelle version du fichier "data" mis au sujet auparavent, les différents bug y sont affichés,

ne sais pas comment résoudre,
 
Dernière édition:
Re : erreur d'exécution 13, en y mettant du texte

Bonsoir,

Euh, quand j'ai lu ton énoncé, au début, ce n'est pas celui qui apparait, maintenant.....

Effectivement, tu as modifié ton énoncé.......

Tu as une question, OK

Tu veux une réponse, on te répond, en fonction de la question.....

Ne modifie pas ta question, en fonction de la première réponse, stp.....
 
Re : erreur d'exécution 13, en y mettant du texte

re:

je n'aime pas les goto surtout quand il y en maque !
dans tout les cas il passe dans ta ligne 9
l'usage du on error est complexe, une fois utilisé il faut rendre la main du control d'erreur sinon une erreur plus loin sera detectée
Code:
If Sheets(6).[G4] Is Empty Then
2       LA_REPONSE = InputBox(vbCr & vbCr & vbCr & _
                         "to put amount", _
                         -20000)
On Error GoTo 9
[G4].Value = [COLOR="DarkGreen"]VAL(LA_REPONSE)[/COLOR]
[COLOR="Navy"]on error goto 0[/COLOR]
[COLOR="Red"]GOTO suiste[/COLOR]
9   [COLOR="navy"]on error goto 0[/COLOR]
     MsgBox("La valeur saisie doit être un nombre !!!" & vbCr & vbCr & "restart and put the correct amount ?", 52, "  ATTENTION :")
    GoTo 2
[COLOR="red"]suite:[/COLOR]
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

J
Réponses
6
Affichages
2 K
krimoines
K
M
  • Question Question
XL 2019 Erreur '9'
Réponses
2
Affichages
1 K
B
Réponses
1
Affichages
713
bluet
B
W
  • Question Question
Réponses
9
Affichages
2 K
wenders frédéric
W
M
Réponses
2
Affichages
1 K
M
C
Réponses
4
Affichages
3 K
Cathy
C
N
  • Question Question
Réponses
5
Affichages
3 K
J
Réponses
9
Affichages
2 K
jomarion
J
Retour