Pb vba excel application.inputbox type 8
Fermé
Bonjour à tous,
je cherche à activer une cellule qui serait préalablement désignée par l'utilisateur, voilà ce que j'ai écris:
impact = Application.InputBox(prompt:="indiquer cellule ou intégrer le tableau des impacts", Title:="entrée tableau impacts", Type:=8)
range("impact").activate
J'immagine que ça bugge car impact contient l'objet range mais est en soi une variable et non une cellule, enfin si quelqu'un peut m'aider,
ça serait cool:)
je cherche à activer une cellule qui serait préalablement désignée par l'utilisateur, voilà ce que j'ai écris:
impact = Application.InputBox(prompt:="indiquer cellule ou intégrer le tableau des impacts", Title:="entrée tableau impacts", Type:=8)
range("impact").activate
J'immagine que ça bugge car impact contient l'objet range mais est en soi une variable et non une cellule, enfin si quelqu'un peut m'aider,
ça serait cool:)
A voir également:
- Vba inputbox type
- Clear type - Guide
- Faiblesse type spectre ✓ - Forum Jeux vidéo
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Find vba - Astuces et Solutions
- Vba attendre 1 seconde ✓ - Forum VB / VBA
8 réponses
Papou93
Messages postés
146
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
5 juin 2012
59
29 août 2007 à 17:16
29 août 2007 à 17:16
Bonjour Romain,
Je ne sais pas l'expliquer, mais si tu modifies ton code comme ci-dessous, et que tu entres l'adresse de ta cellule au clavier, ça fonctionne.
impact = Application.InputBox("indiquer cellule ou intégrer le tableau des impacts", "entrée tableau impacts")
Range(impact).Activate
J'essaierai d'approfondir le problème par la suite.
Cordialement.
Papou.
Je ne sais pas l'expliquer, mais si tu modifies ton code comme ci-dessous, et que tu entres l'adresse de ta cellule au clavier, ça fonctionne.
impact = Application.InputBox("indiquer cellule ou intégrer le tableau des impacts", "entrée tableau impacts")
Range(impact).Activate
J'essaierai d'approfondir le problème par la suite.
Cordialement.
Papou.
Merci Papou!
En fait, j'avais réussi à faire marcher l'instruction peu de temps avant en définissant bien le retour de la méthode inputbox comme objet range, puis en mettant simplement
impact.activate 'puisque impact est défini comme un objet range, pas besoin de placer "range" devant
Cependant, autre problème :) :
Ce matin, je refais la même instruction pour intégrer un autre tableau:
Set tab_act_mot = Application.InputBox(prompt:="sélectionner la cellule où placer" & Chr(10) & " le tableau des demandes par activité/motif", Title:="tableau croisé activité/motif", prompt:=8)
tab_act_mot.Activate
Et cette fois ci, j'obtiens l'erreur suivante:
"erreur de compilation: argument nommé déjà spécifié"... Ils me surlignent le "inputbox" et me mettent en jaune "private sub()" que j'ai tout en haut de mon code.
quelqu'un sait-il d'où ça vient?
Merci d'avance!
En fait, j'avais réussi à faire marcher l'instruction peu de temps avant en définissant bien le retour de la méthode inputbox comme objet range, puis en mettant simplement
impact.activate 'puisque impact est défini comme un objet range, pas besoin de placer "range" devant
Cependant, autre problème :) :
Ce matin, je refais la même instruction pour intégrer un autre tableau:
Set tab_act_mot = Application.InputBox(prompt:="sélectionner la cellule où placer" & Chr(10) & " le tableau des demandes par activité/motif", Title:="tableau croisé activité/motif", prompt:=8)
tab_act_mot.Activate
Et cette fois ci, j'obtiens l'erreur suivante:
"erreur de compilation: argument nommé déjà spécifié"... Ils me surlignent le "inputbox" et me mettent en jaune "private sub()" que j'ai tout en haut de mon code.
quelqu'un sait-il d'où ça vient?
Merci d'avance!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
autre information que je pense devoir vous fournir, car l'erreur vient peut être de ceci:
pour la 1ère utilisation de la méthode inputbox, j'ai également inséré l'action:
on error go to errhandler
Ce dernier (errhandler) me renvoyant simplement un msgbox indiquant que le tableau était annulé si l'utilisateur clique sur ce bouton.
J'ai pour la deuxième méthode voulu également insérer :
on error go to err handler
errhandler: msg box "tableau annulé"
Mais peut être ne dois-je pas écrire deux fois errhandler: et dans ce cas, comment gérer le bouton annuler dans deux cas différent sachant que mon premier errhandler se trouve à la fin de mon code juste avant le end sub?
J'espère que j'ai été assez clair, pour résumer, mon code ressemble à ceci:
private sub()
.
instructions
instructions
.
méthode inputbox
.
instructions
méthode inputbox
.instructions
errhandler
end sub
pour la 1ère utilisation de la méthode inputbox, j'ai également inséré l'action:
on error go to errhandler
Ce dernier (errhandler) me renvoyant simplement un msgbox indiquant que le tableau était annulé si l'utilisateur clique sur ce bouton.
J'ai pour la deuxième méthode voulu également insérer :
on error go to err handler
errhandler: msg box "tableau annulé"
Mais peut être ne dois-je pas écrire deux fois errhandler: et dans ce cas, comment gérer le bouton annuler dans deux cas différent sachant que mon premier errhandler se trouve à la fin de mon code juste avant le end sub?
J'espère que j'ai été assez clair, pour résumer, mon code ressemble à ceci:
private sub()
.
instructions
instructions
.
méthode inputbox
.
instructions
méthode inputbox
.instructions
errhandler
end sub