VBA EXCEL macro

Résolu
Smoky33 Messages postés 8 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 juin 2007 - 31 mai 2007 à 11:13
Smoky33 Messages postés 8 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 juin 2007 - 31 mai 2007 à 11:51
bonjour,
on se casse la tête à deux depuis des heures pour trouver comment arrêter une macro lorsque l'utilisateur appui sur la bouton annuler d'une inputbox créer par la macro voici un morceau de code :

Sub TraitementNouvellesDonnées()
'
' TraitementNouvellesDonnées Macro
' Macro enregistrée le 29/05/2007 par help33
'
' Touche de raccourci du clavier: Ctrl+t
    Dim chemin As String
    chemin = "W:\FAI\SYSTEM\Echange\nicolas"
    chemin = InputBox("Tapez le chemin de destination de sauvegarde de vos fichiers ( " & chemin & " par défaut)", "")

lorsque cette inputbox apparait, et que l'utilisateur appui sur le bouton annuler, il faudrait que la macro s'arrête.

merci à ceux qui voudront bien prêter attention à notre problème.

6 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
31 mai 2007 à 11:20
Salut,

Et ceci?
Sub TraitementNouvellesDonnées()
'
' TraitementNouvellesDonnées Macro
' Macro enregistrée le 29/05/2007 par help33
'
' Touche de raccourci du clavier: Ctrl+t
   Dim chemin As String
   chemin = "W:\FAI\SYSTEM\Echange\nicolas"
   chemin = InputBox("Tapez le chemin de destination de sauvegarde de vos fichiers ( " & chemin & " par défaut)", "")
   If chemin = vbNullString Then Exit Sub , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
3
Smoky33 Messages postés 8 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 juin 2007
31 mai 2007 à 11:26
il faudrait que tu nous explique ton instrution vbNullStringcar si on comprend bien cela signifie que l'utilisateur ne saisie pas de chemin cela arrête la macro.
sauf que s'il ne saisie pas de chemin il y a un chemin par défaut.
On veut arrêter la macro que s'il appui sur le bouton annuler de l'inputbox.
A moins que ton instruction (vbNullString) ne soit pas ce qu'on pense ! ^^
3
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
31 mai 2007 à 11:29
Salut, Annuler retourne "" (chaine vide) = vbNullString




 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)

Si la réponse vous convient: Réponse acceptée < body>
3
Smoky33 Messages postés 8 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 juin 2007
31 mai 2007 à 11:39
c'est donc ce qu'on avait compris.
Mais le problème c'est qu'il y a un chemin par défaut qui s'affiche si la variable est vide.
On avait oublié de mettre un morceau de code ^^ qui est :
If (chemin = "") Then
    chemin = "W:\FAI\SYSTEM\Echange\nicolas"
End If

Il peut cliquer sur le bouton OK même s'il ne rentre rien.
Dans ce cas la le chemin par défaut est fait par l'alternative.

C'est pour ça qu'on veut savoir quand l'utilisateur clique sur le bouton annuler de l'inputbox.
Et s'il le fait arrêter la macro.
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
31 mai 2007 à 11:45
Salut,
Avez vous pris la peine au moins de testé?
Que chercher vous a faire exactement?
Tu voulais sortir de la macro avec le code proposé ca sort NON?

Alors soit j'ai rien compris soit vous n'avez expliquer clairement ce que vous souhaitiez...

@+: Ju£i?n
Pensez: Réponse acceptée
3
Smoky33 Messages postés 8 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 juin 2007
31 mai 2007 à 11:51
Bon en fait en cherchant un peu plus encore on a trouver :

Dim chemin As String
    chemin = "W:\FAI\SYSTEM\Echange\nicolas"
    chemin = InputBox("Tapez le chemin de destination de sauvegarde de vos fichiers ( " & chemin & " par défaut)", "", chemin)
    If (chemin = "") Then
    Exit Sub
    End If

Dans la syntaxe de l'inputbox, la troisième virgule spécifie le texte par défaut.
On y rentre donc la variable.
Et comme disait jrivet quand on appuie sur annuler ça vide tout.
Merci
Bonne journée
3
Rejoignez-nous