Pb vba excel application.inputbox type 8

Fermé
romain - 29 août 2007 à 15:00
 JeJe - 14 déc. 2009 à 18:23
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:)

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
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.
3
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!
1
qqun a une idée?:(
0
toujours pas?
0

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

Posez votre question
J'ai modifié par

set impact= application...etc.

Mais ça ne marche tjs pas
0
personne ne connaît la réponse?? ça me serait d'une grande aide!!!!!!
0
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
0
En fait tu a mis prompt a la place de type

change prompt=8 par type =8
0
dim impact as range

pour commencer
0