Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
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
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,
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