Fermer un Input Box avec le bouton annuler
Bonjour,
J'explique mon problème :
j'ai un macro qui me sert à calculer ma marge sur ma colonne quantité avec un InputBox. Le problème c'est que quand je clique sur le bouton annuler et sur le bouton ok mais qu'il n'y a pas de valeur j'ai un message d'erreur qui s'affiche (voir ci-dessous) :
Private Sub Marge_Click()
Dim Z_result As String
Dim Z_Marge As String
Dim Z_MargeOk As Double
Dim Z_Lig As Integer
Z_Lig = 32
Z_result = MsgBox("Voulez-vous appliquer la même marge pour toutes les lignes", vbYesNo)
If Z_result = vbYes Then
Z_Marge = InputBox("Marge :", Marge)
Z_MargeOk = (Replace(Z_Marge, "%", "") * 1) / 100
Z_MargeOk = 1 - Z_MargeOk
Do While Cells(Z_Lig, 11).Value <> ""
If Cells(Z_Lig, 14).Value = "" Or Cells(Z_Lig, 14).Value = 0 Then
Cells(Z_Lig, 14).Value = Cells(Z_Lig, 10).Value
End If
Cells(Z_Lig, 10).Value = Cells(Z_Lig, 14).Value / Z_MargeOk
Z_Lig = Z_Lig + 1
Loop
Else:
Do While Cells(Z_Lig, 11).Value <> ""
ZG_Lig = Z_Lig
F_Marge.FC_Lig = ZG_Lig
continue = True
F_Marge.Show 0
Do While continue = True
DoEvents
Loop
If sortie = True Then
sortie = False
Exit Sub
End If
Z_Lig = Z_Lig + 1
Loop
End If
End Subj'aimerais que quand je clique sur le bouton annuler mon InputBox se ferme, quand il n'y a aucune valeur entrée j'aimerais un message qui indique de rentrer une valeur.
si jamais quelqu'un peut m'apporter son aide.
Je vous remercie par avance,
Goat
Bonjour Goat,
Il faut peut-être faire un test pour ça non !?
Z_Marge étant de type "String" il faut tester le texte
Z_Marge = InputBox("Marge :", Marge)
If Z_Marge = "Faux" then Exit Sub
Z_MargeOk = (Replace(Z_Marge, "%", "") * 1) / 100Pour le reste, cela fait doublon avec le sujet ICI
https://forum.excel-pratique.com/excel/vba-probleme-sur-un-code-if-163585
Merci de ne pas faire de doublon SVP, je vais clôturer ce fil
@+
Merci Bruno de ta réponse, effectivement tu peux fermer ce sujet, j'ai réussi à résoudre le problème plus ou moins.
Je n'arrive toujours pas à différencier le bouton annulé de ne pas rentrer une valeur mais je vais faire des recherches
Goat
a+