Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/01/2012, 22h47   #1
Invité régulier
 
Inscription : mars 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 25
Points : 8
Points : 8
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 :
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.
cedana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 22h55   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 920
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 920
Points : 7 237
Points : 7 237
Bonjour,

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

Code :
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
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 23h38   #3
Invité régulier
 
Inscription : mars 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 25
Points : 8
Points : 8
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+
cedana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 23h40   #4
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 920
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 920
Points : 7 237
Points : 7 237
Citation:
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?
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 00h07   #5
Invité régulier
 
Inscription : mars 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 25
Points : 8
Points : 8
Voici le message d'erreur à la ligne Set Plage=
"Erreur d'exécution 424 "
Objet requis
cedana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 08h26   #6
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
Bonjour,

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


Code :
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
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 11h56   #7
Invité régulier
 
Inscription : mars 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 25
Points : 8
Points : 8
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
cedana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 12h10   #8
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
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
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h06.


 
 
 
 
Partenaires

Hébergement Web