Bonjour,
Je voudrais depuis un bouton d'un Userform pouvoir séléctionner une cellule dans ma feuille et revenir à mon userform sans que le reste de ma macro se poursuive.
Connaissez-vous un moyen ?
Bonjour,
Je voudrais depuis un bouton d'un Userform pouvoir séléctionner une cellule dans ma feuille et revenir à mon userform sans que le reste de ma macro se poursuive.
Connaissez-vous un moyen ?
Regarde ShowModal dans l'aide
Extrait
A+Lorsqu'un objet UserForm n'est pas modal, l'utilisateur peut afficher d'autres feuilles ou fenêtres sans fermer cet objet.
Si j'utilise la fonction MODAL comme ça, toute ma macro s'execute et cela ne m'arrange pas. Il faut que je puisse simplement aller sur ma feuille pour séléctionner ma cellules sans que ma macro continue.
Je sais pas trop comment expliquer cela.
Le but est de selectionner la cellule qui va recevoir mon nouveau text que j'ai dans mon TextBox.
ça normalement cest la fonction de l'InputBox
Par exemple, si tu veux sélectionner une plage :
Maintenant après, ça dépend ce que tu fais dans ton formulaire et s'il y a d'autres champs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dim P as Range Set P = Application.InputBox("sélectionnez une plage",Type:=8)
De plus, je sais pas si un InputBox de ce type existe pour un formulaire. Faut que je regarde
- Avant de poster, et http://www.developpez.com/sources/
- Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
- N'oubliez pas le
- N'oubliez pas le si la réponse vous a été utile !
Tu peux faire un truc barbare dans ton UserForm, c'est rajouter un bouton a coté d'une zone de texte ou tu mettra les références de ta plage de cellules. Dans ce bouton, lors du click tu met ça :
ça te permet de pouvoir ouvrir une fenetre pour sélectionner une plage de cellules, et ça te l'écrira dans TextBox1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub CommandButton1_Click() Dim p As Range Set p = Application.InputBox("selection", Type:=8) TextBox1.Value = p.Address End Sub
Le seul souci que j'ai trouvé à cette méthode, et que je trouve très étrange, c'est que ça ne récupère que l'adresse des références en elle-meme, par exemple A$1:B$2 (d'ailleurs ça te met des dollars direct aussi), mais si tu prend une plage de cellules dans une autre cellule, ça te récupère pas le nom de la feuille, ça te mettra que les cellules.
Après, tu peux peut etre aussi afficher cet InputBox quand tu valide ton "formulaire". De cette manière, les modifications seront faites sur le scellules choisies.
A toi de voir
- Avant de poster, et http://www.developpez.com/sources/
- Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
- N'oubliez pas le
- N'oubliez pas le si la réponse vous a été utile !
Pour sélectionner une plage, il existe le contrôle RefEdit.
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
Cêst peut-être barbare, mais ça marche à merveille ce code .Envoyé par illight
Le top du top serait que l'input box se ferme sur le simple clic. J'ai 8000 classeurs à modifier, alors chaque clic éliminé est un gros gain de temps.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub CommandButton1_Click() Dim p As Range Set p = Application.InputBox("selection", Type:=8) TextBox1.Value = p.Address End Sub
Mais MERCI 8000 FOIS
Srame
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager