VBA Choisir une feuille avec inputbox (en cliquant dans la feuille)

djcoach Messages postés 7 Date d'inscription mercredi 19 octobre 2011 Statut Membre Dernière intervention 27 septembre 2012 - 26 sept. 2012 à 20:07
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 27 sept. 2012 à 07:27
Bonjour à tous,

avec Set MA_PLAGE = Application.InputBox... j'arrive à récupérer l'adresse de la zone sélectionnée avant la validation de l'inputbox.

J'aimerais récupérer avec Set MA_FEUILLE = Application.InputBox... le nom de la feuille sur laquelle l'utilisateur a cliqué afin de la faire devenir LA feuille active.

Set NomFeuille = Application.InputBox(prompt:="", Title:="CHOIX DE LA FEUILLE", type:=8)

J'ai essayé les autres types, il n'y a que celui là qui passe...

Quand je clique dans la feuille nommée CIBLE la zone de saisie récupère CIBLE! et la validation de l'InputBox n'accepte pas ce qui est dans la zone de saisie. Pour que ça passe, il faut que dans la feuille cible, je clique dans une cellule. Alors la zone de saisie récupère CIBLE!$C$4 par exemple.

Merci d'avance à qui pourrait me mettre sur la voie.

3 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
26 sept. 2012 à 20:22
Bonjour,
- le type 8 (dans application.inputbox) fait référence à un objet Range (pas Sheet).
- Application.Inputbox n'admet pas d'argument de type Feuille
Question : pourquoi une inputbox alors que l'utilisateur n'a qu'à cliquer sur un des onglets affichés ?
Mais si tu tiens tant à lui faire choisir autrement ===>> une simple listbox alimentée par tes noms feuilles (For each ====>> et propriété Name) !

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
djcoach Messages postés 7 Date d'inscription mercredi 19 octobre 2011 Statut Membre Dernière intervention 27 septembre 2012
27 sept. 2012 à 02:09
Réponse à pourquoi une inputbox alors que l'utilisateur n'a qu'à cliquer sur un des onglets affichés ?
L'InputBox est dans une boucle et je voulais récupérer le nom de la feuille cible en lui donnant la possibilité de changer de feuille. Tout simplement.

... avec un type 2, texte, ça ne passe pas non plus. C'est pourtant du texte, donc ça devrait pouvoir être n'importe quoi et il ne devrait pas y avoir de contrôle sur le contenu. Quand je clique sur la feuille Clients "il" récupère =Clients! dans la zone de saisie et le message d'erreur me dit "Une des formules de cette feuille de calcul contient une ou plusieurs références non valides. Vérifiez...". Si je supprime le signe égale et le point d'exclamation pour ne récupérer que le mot Client, il me m'annonce une "Incompatibilité de type". Même chose sans n° de type, donc théoriquement texte par défaut.

C'est dommage. L'inputbox me plaisait bien...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 sept. 2012 à 07:27
Quand je clique sur la feuille Clients "il" récupère =Clients! dans la zone de saisie

Bien évidemment, puisqu'il attend la suite (la plage dans la feuille "clients", puisqu'une plage est attendue) !
il me m'annonce une "Incompatibilité de type"

évidemment, puisque c'est une ^lage, qu'il attend !
L'InputBox est dans une boucle et je voulais récupérer le nom de la feuille cible en lui donnant la possibilité de changer de feuille. Tout simplement.

montre ton code, que l'on puisse voir ce que tu fais et te proposer du plus orthodoxe.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
Rejoignez-nous