IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Méthode InputBox d'Excel [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 42
    Par défaut Méthode InputBox d'Excel
    Bonsoir à toutes et à tous.
    J'utilise une boite de dialogue InputBox pour sélectionner des cellules qui contiennent des valeurs et ça fonctionne. Mais j'ai un problème si j'appuie sur le bouton annuler, je reçois une erreur 424.
    Pouvez-vous me dire ce que je dois modifier.
    Voici le début du code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Numero()
    Dim Plage As Range
    Set Plage = Application.InputBox(Prompt:="Sélection du code ", _
    Type:=8)
    Merci de votre aide.

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Ci dessous ton code avec une gestion d'erreur en place

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Dim Plage As Range
     
    On Error Resume Next
     
    Set Plage = Application.InputBox(Prompt:="Sélection du code ", _
    Type:=8)
     
    On Error GoTo Gerreur
     
    If Not Plage Is Nothing Then
        MsgBox Plage.Address
    End If
     
    Exit Sub
     
    Gerreur:
     
    MsgBox Err.Number & " - " & Err.Description

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 42
    Par défaut
    Bonsoir Jfontaine.

    Merci pour ta réponse, mais même avec la gestion d'erreur le code se bloque à la ligne: Set Plage = Application.InputBox..........
    Que ce soit en cliquant sur le bouton annuler ou la croix de fermeture.
    Par contre si je sélectionne une cellule ,je n'ai pas de problème.
    Je continue mes recherches.
    A+

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    mais même avec la gestion d'erreur le code se bloque à la ligne
    tu veux dire qu'excel se bloque sur cette ligne? ou as tu un message d'erreur?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 42
    Par défaut
    Voici le message d'erreur à la ligne Set Plage=
    "Erreur d'exécution 424 "
    Objet requis

  6. #6
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Annuler renvoie un False, incompatible avec un objet...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Numero()
    Dim Plage As Range
    Set Plage = Nothing
     
    On Error Resume Next
    Set Plage = Application.InputBox(Prompt:="Sélection du code ", Type:=8)
     
    If Plage Is Nothing Then MsgBox "Je traite la situation": On Error GoTo 0: Exit Sub
    '.........
    End Sub
    Cordialement,

    Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue, et chaque action vous rapporte des points

    Didier

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 42
    Par défaut
    Bonjour Didier, bonjour Jérome.
    Bonjour à tous.

    Merci à Didier et Jérome pour leurs réponses concernant la gestion des erreurs. Pour que celle-ci fonctionne il faut que le paramètre "Arrêt sur toutes les erreurs" soit désactivé. J' ai donc modifié ce paramètre et tout fonctionne.
    Merci à vous deux.

    A+

    Bernard

  8. #8
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Ben oui, c'est pour ça que par défaut c'est "Arrêt sur les erreurs non gérées" qui est coché !!!

    Sinon, il fait ce que tu as demandé de façon explicite

    cordialement,

    Didier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. méthode inputbox
    Par gaihdriah dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/05/2009, 14h58
  2. Pb méthode INPUTBOX
    Par CélineM dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/05/2007, 17h29
  3. Méthode worksheets.copy : excel stop
    Par agro dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 22/12/2006, 20h25
  4. Réponses: 2
    Dernier message: 18/11/2005, 16h29
  5. Réponses: 1
    Dernier message: 10/10/2005, 08h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo