InputBox - Bouton annuler

Bonjour,

J'ai mis un inputbox afin de gérer le N°de version du document. Le commercial saisit sa version de document dans l'inputbox et cela génère le fichier excel avec le n° de version dans le nom du fichier.

Tout fonctionne, par contre si on clique sur annuler, ca crée un bug. Comment dire que si on annule, il faut fermer l'inputbox et ne rien faire (c'est à dire qu'il ne faut pas enregistrer le document)/

Voici mon code.

  Sub Enr_XLS()
    Dim chemin As String, Fichier As String
    Dim NbLg As Long
    Dim resultat As String
      resultat = Application.InputBox("Souhaitez-vous garder la version de document ?", "Version du document", Range("X1")) 'La variable reçoit la valeur entrée dans l'InputBox
      Range("X1") = resultat
      'If resultat = ""

      Application.ScreenUpdating = False
      Application.DisplayAlerts = False
      chemin = ThisWorkbook.path & Application.PathSeparator
      'Je donne le nom du fichier Offre de prix _ nom du chantier_ N° de version
      Fichier = "ODP" & "_" & Range("T4").Value & "_" & Range("I6").Value & "_" & Range("X1").Value & "_" & Range("V1").Value
      'Je copie uniquement l'offre de prix

      Sheets("offre de prix").Copy

      With ActiveWorkbook
        With .Sheets(1).UsedRange  'plage utilisée
          .Columns("A:T").Formula = .Columns("A:T").Value    'conservation uniquement des valeurs
          .Columns("Y:AF").EntireColumn.Delete
          .Range("I1:X2").Interior.Color = RGB(33, 89, 103)
          .Range("I3:X5").Interior.Color = RGB(183, 222, 232)
          .Range("A1").Select

        End With
                  ActiveSheet.Shapes("BP_Image_IPR").Select
          Selection.Delete
        .SaveAs chemin & Fichier & ".xlsx"
        ActiveWorkbook.Save
        '.Close
      End With
      MsgBox "Le Fichier " & Fichier & " a été généré. Il se trouve dans le répertoire " & chemin

    End Sub

Merci par avance pour votre aide.

Bonjour.

Essaye avec

 Dim resultat As String
      resultat = Application.InputBox("Souhaitez-vous garder la version de document ?", "Version du document", Range("X1")) 'La variable reçoit la valeur entrée dans l'InputBox
     Range("X1") = resultat
If String.IsNullOrEmpty(resultat) then exit sub

Tout d'abord merci pour ton aide.

J'ai déjà essayé comme cela mais le problème est que je récupère la valeur de ma cellule X1 qui est déjà renseigné par défaut avec "V1".

Du coup je ne peux pas dire si l'inputbox est vide ou nul alors je sors.

If resultat = False Then ExitSub

?

Edit : Pardon,

On error resume next
If resultat = False Then ExitSub
On error goto 0

Malheureusement, ca ne fonctionne pas avec ce code.

Si je clique sur "Annuler", ca met en FAUX en case X1.

Si je clique sur OK , ca bugge.

J'avais corrigé pour l'erreur, tu n'as pas dû voir.

 Dim resultat As String
      resultat = Application.InputBox("Souhaitez-vous garder la version de document ?", "Version du document", Range("X1")) 'La variable reçoit la valeur entrée dans l'InputBox
On error resume next
If resultat = False Then ExitSub
On error goto 0
     Range("X1") = resultat

Cette fois, ca fonctionne pour le bouton ANNULER mais si je clique sur OK, le script ne s’exécute plus en entier.

Hu ? Ca bloque où ?

Ci-joint le fichier.

Au fait, ca ne bugge pas mais rien ne se passe si je clique sur OK.

Je jure que ça marchait tout à l'heure, je vais investiguer !


 Dim resultat As String
      resultat = Application.InputBox("Souhaitez-vous garder la version de document ?", "Version du document", Range("X1")) 'La variable reçoit la valeur entrée dans l'InputBox
On error goto Suite
If resultat = False Then Exit Sub
Suite :
On error goto 0
     Range("X1") = resultat

?

Merci Beaucoup ! Ca marche parfaitement

Rechercher des sujets similaires à "inputbox bouton annuler"