Boite de dialogue pour selectionner une plage de cellule

cam2d Messages postés 5 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 16 août 2007 - 2 mars 2007 à 16:35
cam2d Messages postés 5 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 16 août 2007 - 5 mars 2007 à 13:44
Bonjour

Je cherche le moyen de faire une boite de dialogue pour selectionner une plage de cellule et que cette boite renvoie un Range.
Boite du type de celle qui existe lorsqu'on crée un graphique et que l'on doit renseigner la plage de valeur dans Excel

Quelqu'un a parlé d'un Refedit mais je comprends pas grand chose au userform (je sais c'est pas bien mais pas encore eu le temps de me pencher dessus.

Si quelqu'un a une piste où un exemple qui s'en rapproche, j'aurais une belle épine en moins

Merci

4 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
2 mars 2007 à 17:43
Salut,

avec tes contrôles de bases pour un UserForm (le pavé où se trouve le TextBox, CommandButton, ComboBox, etc..) il faut faire un clique droit dessus, sélectionne Contrôles supplémentaires, et coche RefEdit.ctl.
Il apparait dans le pavé des contrôles, place le où tu veux sur ton UserForm, il va se nommer RefEdit1.

Pour récupérer sa valeur et travailler avec, fais ceci :

        Dim LaValeurDeLaCelluleChoisiParUtilisateur  As String
LaValeurDeLaCelluleChoisiParUtilisateur = Range(RefEdit1.Value)
MsgBox LaValeurDeLaCelluleChoisiParUtilisateur

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
2 mars 2007 à 17:44
petite correction :
LaValeurDeLaCelluleChoisiParUtilisateur = Range(RefEdit1.Value).Value

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
cavo789 Messages postés 168 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 28 juillet 2009 1
2 mars 2007 à 22:23
Bonsoir.

C'est en fait ultra simple : il faut utiliser l'instruction InputBox en indiquan tType:=8.

Ci-dessous un exemple

Set rg = InputBox(Prompt:="Select the range", Type:=8, Default:="$A$1:$C$4", Title:="MyTitle")

Christophe
0
cam2d Messages postés 5 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 16 août 2007
5 mars 2007 à 13:44
Merci pour le refedit
ça marche bien même avec la première solution

Je n'ai pas encore essayé la version avec inputBox ( le userform convient mieux à l'utilisation que je veux faire et c'est moins compliqué que je ne le pensais)

@++
0
Rejoignez-nous