Pb vba excel application.inputbox type 8

romain -  
 JeJe -
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 147 Statut Membre 59
 
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
romain
 
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
romain
 
qqun a une idée?:(
0
romain
 
toujours pas?
0

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

Posez votre question
romain
 
J'ai modifié par

set impact= application...etc.

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

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

pour commencer
0