Téléchargement
illégal
Posez votre question Signaler

Liste déroulante à choix multiple Excel 2007 [Résolu]

studio103 44Messages postés 2 août 2008Date d'inscription 6 décembre 2010Dernière intervention - Dernière réponse le 13 mars 2012 à 16:02
Bonjour,
Je suis un vraiment newbe d'Excel. Je dois préparer un masque de saisie.
Et il me serait très utile d'avoir une liste déroulante (ça j'ai fait avec "validation des données") ou l'on puisse choisir plusieurs modalités.
En fait, il s'agit de déplacement, genre: voiture, à pied, bus, etc. Et ces modes de transport peuvent se succéder.
Le top serait d'avoir l'ordre du choix mais si j'ai déjà un choix multiple, je serais comblé
Une idée ?
Merci d'avance
Lire la suite 

Liste déroulante à choix multiple Excel 2007 »

34 réponses
Réponse
+1
moins plus
Bonjour,
Désolé mais :
Le top serait d'avoir l'ordre du choix mais si j'ai déjà un choix multiple, je serais comblé
La j'ai pas tout compris... Pourrais tu nous mettre (grâce à http://cjoint.com/index.php) un fichier exemple, sans données confidentielles et en évitant les formats .xlsx, préférer .xls, qu'un max de gens puisse t'aider.

(lapin compris? Non! Lapon compris...)
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

J'ai rien sous la main, tout est au boulot. Mais concretement, ce que je veux c'est pour une même cellule avec une liste déroulante de modalité de réponse, la personne puisse choisir plusieurs modalité (un trajet ou on aurait utilisé la voiture et puis le tram, choisir voitur et tram, par exemple).

Je posterai un ex. demain

Merci pour la réponse
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
Vous avez alors deux choix :
- Validation/Données : dans ce cas il vous faudra écrire manuellement toutes les combinaisons possibles.
- par VBA : regardez ce classeur exemple et dites moi si cela convient. Si ok, je vous explique la démarche pour l'appliquer à votre classeur excel.
Ajouter un commentaire
Réponse
+0
moins plus
MErci pijaku pour la réponse,

effectivement la méthode VBA est pertinente. C'est même exactement ce que je souhaite !

Je veux bien être initié !!!

Merci
Ajouter un commentaire
Réponse
+0
moins plus
Et bien allons y.

I/ Création
1- Tu ouvres ton classeur,
2- Tapes ALT+F11 (ou Outils/Macros/Visual Basic Editor)
3- Insertion/UserForm
4- Adaptes en la forme à la taille désirée,
5- Sur la gauche de ton écran tu dois avoir une fenêtre "propriétés". Si ça n'est pas le cas, appuies sur F4. Dans cette fenêtre cherche la propriété "caption". Dans la cellule à côté change le UserForm1 par le titre que tu souhaites (ex : Ma Liste Multiple). !!! ATTENTION : ne change pas la propriété Name !!!!!
6- Clic sur ton UserForm. Normalement, une boîte à outils apparait. Non? et bien : Affichage/Boîte à Outils
7- Dans cette boîte à outils cherche (et trouve) le contrôle : "zone de liste". Clic dessus et va dessiner ta zone de liste dans ton UserForm
8- Toujours dans la boîte à outils cherche (et trouve) le contrôle : "Bouton de commande". Clic dessus et va dessiner ton boutondans ton UserForm.
9- Simple clic sur le bouton (dans le UserForm) et va changer la propriété (fenêtre propriétés... Mais si à gauche de l'écran, F4, tout ça...) "caption" remplacer CommandButton1 (ex : VALIDER). !!! ATTENTION : ne change pas la propriété Name !!!!! ;-) Tu t'y attendais? Non? Ah bon...
10- Tu peux également changer l'apparence de ton bouton en changeant les propriétés : BackColor, Font, ForeColor. Idem pour l'UserForm (simple clic dessus et hop hophop, tu as accès à ses propriétés)

II/ Les Codes VBA
Là ça devient sérieux, on arrête de bricoler!!
1- Double clic sur le bouton de commande dans ton UserForm. Une nouvelle fenêtre apparait avec dedans :
Private Sub CommandButton1_Click()

End Sub

2- Supprime ces deux lignes et à la place, copie / colle tout ce code :
Option Explicit

Private Sub CommandButton1_Click()
Dim i As Byte
Dim ValeurARetourner As String
    
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            ValeurARetourner = ValeurARetourner & ListBox1.List(i) & " & "
        End If
    Next i
With Sheets("Feuil1")
.Range("C4") = Left(ValeurARetourner, Len(ValeurARetourner) - 3)
.Range("C5").Activate
End With
UserForm1.Hide
Unload UserForm1
End Sub

Private Sub UserForm_Initialize()
Dim i As Integer, Derlig As Integer
ListBox1.Clear

Derlig = Sheets("Feuil1").Cells(65536, 9).End(xlUp).Row
    For i = 1 To Derlig
        ListBox1.AddItem Cells(i, 9).Value
    Next i
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            ListBox1.Selected(i) = False
        End If
    Next i
End Sub

3- Les 9 dans les parties en gras dans le code ci dessus sont à adapter selon l'endroit ou tu as mis tes données de remplissage de ta liste. 9 = 9ème Colonne (Colonne I)
3 bis- Dans la ligne : Derlig = Sheets("Feuil1").Cells(65536, 9).End(xlUp).Row, "Feuil1" est le nom de la feuille ou se trouve la liste des données. A remplacer par le nom de votre feuille (entouré de "")
3 ter- "C4" dans : .Range("C4") = Left(ValeurARetourner, Len(ValeurARetourner) - 3) est la cellule dans laquelle vous voulez envoyer vos choix
.Range("C5").Activate à adapter également
With Sheets("Feuil1") Feuil1 à remplacer aussi...
4- Ferme Visual Basic Editor (fichier / fermer et retourner sous excel ou ALT+Q)
5- Clic droit sur l'onglet de la feuille concernée par le UserForm (feuille ou tu souhaites voir apparaitre le résultat) / Visualiser le code
Nouvelle fenêtre visual basic. Copie / colle y ce code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$C$4" Then
    Target.Value = ""
    Load UserForm1
    UserForm1.Show
End If
End Sub

Ici "$C$4" est la cellule dans laquelle tu va à l'avenir double cliquer pour lancer le UserForm. A adpater donc...
6- Ferme à nouveau Visual Basic (Alt+Q) et teste en double cliquant sur C4 (ou ce que tu aurs bien voulu choisir).

J'ai fait de mon mieux pour que ces explications soient le plus claires possibles. En cas d'erreur, n'hésite pas à revenir ici.
Ajouter un commentaire
Réponse
+0
moins plus
Merci pijaku,

J'ai essayé quelques fois sur mon fichier d'origine qui contient déjà pas mal de macros, qui ne sont pas de moi. Donc c'est peut être pour cela que ça ne fonctionne pas du tout comme je le souhaite.
Notamment:
- la liste est issue de la feuille de destination alors que les modalités de listes sont sur une feuille à part (pourtant j'ai bien respecté tes consignes).
- Il n'y a pas de sélection multiple comme dans ton exemple mais un seul item sélectionné.
- Le bouton validation ne faire rien. Il ne valide pas les réponses. On est obligé de fermer la userform

J'ai essayé sur un fichier à part, en mettant ma liste d'une part, la case de destination d'autre part, et je rencontre encore des problèmes:
- aucune modalité n'apparaît
- en appuyant sur valider, il me propose un débuggage sur la ligne en gras:
With Sheets("Lundi")
.Range("B4") = Left(ValeurARetourner, Len(ValeurARetourner) - 3)
.Range("B5").Activate

En revanche quand je fais cela sur la même page ça fonctionne (mise à part le choix multiple)

Qu'en dis tu ?
studio103- 28 oct. 2010 à 17:35
Voici le second fichier:
http://cjoint.com/?0kCrINae8RX
pijaku- 29 oct. 2010 à 08:26
Salut,
J'ai fait une erreur et un oubli... Désolé.
1- l'oubli : Il faut changer la propriété MultiSelec de la listbox. Pour cela, va sous Visual Basic (ALT+F11 dans ton classeur), affiche ton userform (à gauche de l'écran : fenêtre projet/feuilles/double clic sur Userform1), sélectionne la listbox en cliquant dessus et dans la fenêtre propriétés, règle le Multiselec sur 1- fmMulitiSelecMulti
2- l'erreur : dans le code d'initialisation de l'userform :
Private Sub UserForm_Initialize()
Dim i As Integer, Derlig As Integer
ListBox1.Clear
Derlig = Sheets("Feuil1").Cells(65536, 9).End(xlUp).Row
    For i = 1 To Derlig
        ListBox1.AddItem Cells(i, 9).Value
    Next i    
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            ListBox1.Selected(i) = False
        End If
    Next i
End Sub

Les lignes en gras ne fonctionnent que si la liste est sur la même feuille... Donc à remplacer par :
Private Sub UserForm_Initialize()
Dim i As Integer, Derlig As Integer
ListBox1.Clear
With Sheets("Listes")
Derlig = .Cells(65536, 1).End(xlUp).Row
    For i = 1 To Derlig
        ListBox1.AddItem .Cells(i, 1).Value
    Next i
End With
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            ListBox1.Selected(i) = False
        End If
    Next i
    
End Sub
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour Pijaku,

J'ai remplacé les parties que tu m'as indiqué. Tout fonctionne (la box apparaît, le multi est activé, on a la bonne liste) sauf l'essentiel: le bouton "valider" ... qui ne valide pas. On est obligé de forcer la fermeture sans avoir pu choisir.

Une idée ?
pijaku- 29 oct. 2010 à 11:19
Pour le bouton, pas d'idée, il fonctionne super bien chez moi...
Tu as toujours ce code affecté au bouton? : (pour vérifier, va sous VBE et double clic sur le bouton)
Private Sub CommandButton1_Click()
Dim i As Byte
Dim ValeurARetourner As String
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            ValeurARetourner = ValeurARetourner & ListBox1.List(i) & " & "
        End If
    Next i
With Sheets("Lundi")
.Range("B4") = Left(ValeurARetourner, Len(ValeurARetourner) - 3)
.Range("B5").Activate
End With
UserForm1.Hide
Unload UserForm1
End Sub


2- tu veux étendre la macro à plusieurs cases? La moi pas comprendre toi... Le bouton sert à envoyer la(es) valeur(s) choisie(s) en B4 ;cf ligne : .Range("B4") = Left(ValeurARetourner, Len(ValeurARetourner) - 3)
Tu veux que cette valeur se retrouve ou? ou tu veux? dans une cellule que tu as choisit préalablement? dans une plage définie à l'avance (toujours la même)? dans une plage indéfinie?
tu dis...
EXANAD- 29 oct. 2011 à 19:17
J'ai tenté de faire la macro mais ça ne fonctionne pas chez moi....en fait j'y suis arrivé sauf lorsqu'il faut changer les codes car moi aussi la liste est dans une autre feuille.

Je préfère la garder sur la même feuille aussi...mais si j'indique la colonne ou se trouve ma lise de choix...il faut qu'il n'y ait pas d'autres valeur sur cette même colonne ou d'autres data qui n'a rien à vois avec ma liste.

puis je vous envoyer mon fichier ? je ne suis pas aussi doué que pijaku :-)
EXANAD- 30 oct. 2011 à 10:16
Bonjour,

Je suis toujours en galère et j'arrive pas à comprendre ce qui beug..
J'ai réussi à faire ma macro mais je ne sais pas comment changé ma liste...
et l'autre difficulté c'est que je dois attribué des points au choix des réponses....

Help ! si je peux transmettre mon fichier svp...car je dois le rendre à 12h00
Ajouter un commentaire
Réponse
+0
moins plus
1- J'ai du faire une petite entorse à tes indications. J'ai touché à la propriété "Name" puisqu'en fait, un bouton de commande c'était caché derrière la Listebox (du coup dans le code j'avais d'abords "Commandbutton1_click" puis "Commandbutton2_click") => résultat ça fonctionne du feu de dieu !!!! Merci 1000 fois

2- Je me suis mal exprimé: en fait, il s'agit de renseigner le mode de déplacement sur une dizaine de trajets (soit une dizaine de lignes). Donc la question c'est: est ce que je doit reprendre le code pour les cases F6, F7, F8, etc. ou et ce que je peux changer le code pour que le choix se fasse non plus sur une seul case mais sur plusieurs (pas simultanément mais une case pour chaque déplacement ...). Je sais pas si c'est vraiment plus claire ...

En tout cas merci pour tout ce que tu as déjà fait pour mon problème !!!!
pijaku- 29 oct. 2010 à 13:37
Tu as deux choix :
- Choix un : le + simple, mais celui qui comporte un défaut :
Tu décides de déclencher le lancement de l'UserForm dès qu'il y a double clic dans ta feuille, peu importe l'endroit. Le souci ici est que si un utilisateur double clic en F123, l'USF se lance...
- Choix deux : on définit préalablement une plage de cellules ou seulement dans cette plage se déclenchera l'USF au double clic.

Tout se passe dans le code de la feuille concernée. Donc :
Clic droit/Visualiser le code sur l'onglet de ta feuille "Lundi"
Tu obtiens ceci :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
If Target.Address = "$B$4" Then 
    Target.Value = "" 
    Load UserForm1 
    UserForm1.Show 
End If 
End Sub

Choix un : code à modifier comme ceci :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
    Target.Value = "" 
    Load UserForm1 
    UserForm1.Show 
End Sub
Le code se lance de toute ta feuille...

Choix deux : code à modifier comme ceci :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
If Intersect(Target, Range("F1:F10")) Is Nothing Then 
 Exit Sub 
Else 
    Target.Value = "" 
    Load UserForm1 
    UserForm1.Show 
End If 
End Sub
Je pense que tu as vu que dans ce cas, le code ne se déclenchera que sur les cellules de la plage F1:F10...

Dans les deux cas, il est nécessaire de changer le code du bouton. En effet, il est clair que tu va double cliquer dans la cellule ou tu veux ton résultat. Donc cette cellule ne sera pas Range("C4"), mais la cellule active (ben oui si tu double clic dans une cellule elle devient la cellule active après le premier clic...). Cela se traduit en VBA au lieu de Range(machin) par : ActiveCell. Ton code de bouton (peu importe comment tu l'appelles ;-)) devient donc :
Private Sub MET_ICI_LE_BON_NOM_DU_BOUTON_Click() 
Dim i As Byte 
Dim ValeurARetourner As String 
    For i = 0 To ListBox1.ListCount - 1 
        If ListBox1.Selected(i) = True Then 
            ValeurARetourner = ValeurARetourner & ListBox1.List(i) & " & " 
        End If 
    Next i 
If ValeurARetourner = "" Then 
    MsgBox "Sélection obligatoire ou fermez avec la croix" 
    Exit Sub 
End If 
ActiveCell = Left(ValeurARetourner, Len(ValeurARetourner) - 3) 
ActiveCell.Offset(1, 0).Activate 
UserForm1.Hide 
Unload UserForm1 
End Sub


ps : j'ai amélioré le code du bouton pour obliger une sélection... teste le sans sélectionner de moyen de transport...

Tu dis...
Ajouter un commentaire
Réponse
+0
moins plus
Ok - j'ai essayé et il m'indique une erreur de compilation. J'ai fait une capture d'écran: http://cjoint.com/?0kDo8a4ZyVD

Comme on est plus à une complication près, il faudrait que le choix se fasse aussi sur plusieurs feuilles (du lundi au dimanche) ... je sais j'en demande bcp bcp !

Merci d'avance
studio103- 29 oct. 2010 à 15:00
Autant pour moi ... c'est moi qui avait fait un problème dans le copier/coller ---
toutes mes excuses, pas d'erreur dans le code
studio103- 29 oct. 2010 à 15:05
Eh ... je suis tout confus.

Rien de compliqué en fait: j'ai copié/collé le code de la feuille1 vers la feuille2 et ça marche.

pijaku, je sais pas si ton pseudo est bizarre ou si c'est moi qui l'interprète bizarrement, mais derrière ce sobriquet, se cache un vrai génie.
pijaku- 29 oct. 2010 à 15:07
1- je ne comprends pas l'erreur de compilation... Ta ListBox s'appelle toujours ListBox1?

2- Pour que l'USF se déclenche sur tes feuilles Mardi, Mercredi ... Facile!!!
Clic droit sur l'onglet lundi / Visualiser le code. Tu copies le code qui apparait.
Sur la gauche, tu as la fenêtre Projet (si si je l'ai vu dans la copie d'écran!!!)
dedans le nom de chacune de tes feuilles.
Double clic sur chaque nom de feuille ou tu souhaites que cela fonctionne et colles le code dans chaque fenêtre...
Tu fermes VBE et tu testes... Enfin, si tu arrives à résoudre le problème 1-
Si tu ne le résouds pas, envoie moi ton fichier par mail (dans mon profil- pour y accéder cliques sur mon pseudo et fouille) ou s'il n'y a pas de données confidentielles, place le sur http://cjoint.com/ ou http://www.cijoint.fr/ et reviens ici coller le lien ainsi créé.
Ajouter un commentaire
Réponse
+0
moins plus
Merci ça fonctionne nikel !!!!
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

J'ai un petit problème.

J'ai utilisé cette macro pour faire une listbox à choix multiple qui va mettre toutes les valeurs sélectionnées, séparées par des points-virule dans une cellule.
Néanmoins, j'aurais besoin de sélectionner ces mêmes données mais que les valeurs qui seront affichées dans la cellule spécifiée soient celles de la colonne à droite de celle contenant les données. En gros dans la colonne C, j'ai une liste de noms, qui vont apparaitre dans la zone de liste à choix multiples et dans la colonne D les adresses emails correspondantes. Je voudrais donc sélectionner les noms et avoir dans une cellule les adresses mails, séparées par des points-virgules.

Un exemple vaut mieux qu'un discours, vous trouverez ici http://cjoint.com/?2bunSq6okrQ mon classeur. Pour l'instant, je sélectionne les noms et ce sont les noms qui s'affichent dans la cellule cible.

Une âme charitable pourra m'aider ?

Encore merci d'avance !!!

R.
pijaku- 20 janv. 2011 à 14:47
Salut,
Ben oui c'est ballot!!!!
En fait, il faudrait, pour ton cas, que la macro recherche dans les valeurs de la colonne C, les choix sélectionnés et renvoie la valeur contenue dans la cellule voisine col D.
Ca n'a rien à voir avec le sujet ici...
Bon 'dmettons...
Voici le code qui va te permettre de continuer :

Private Sub CommandButton1_Click()
Dim i As Byte
Dim ValeurARetourner As String
Dim Trouve As Range
Dim Valeur_cherchee As String
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            Valeur_cherchee = ListBox1.List(i)
            Set Trouve = Sheets("Feuil1").Columns(3).Cells.Find(What:=Valeur_cherchee, LookIn:=xlValues, lookat:=xlWhole)
                    If Trouve Is Nothing Then
                        MsgBox "Pas trouvé"
                    Else
                        ValeurARetourner = ValeurARetourner & Trouve.Offset(0, 1).Value & "; "
                    End If
            Set Trouve = Nothing
        End If
    Next i
Range("G13") = Left(ValeurARetourner, Len(ValeurARetourner) - 2)
Range("G15").Activate
UserForm1.Hide
Unload UserForm1
End Sub


Et ça, c'est cadeau, ça fait plaisir...
invanwetrust - 31 août 2011 à 10:36
Merci beaucoup Pijaku, trés claire, trés precis, parfais pour un noob comme moi.
Que ferais-je sans des bonens ames comme toi.
Merci aussi a studio103 d'avoir posé la questions ;-)
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

J'ai utilisé vos listes de codes, mais je souhaiterai pouvoir avoir 2 menus déroulants à choix multiples sur la même feuille.

J'ai donc créer deux userforms en renseignant toutes les lignes de code aqéquat.

Il me manque simplement la ligne de code a associé à la feuille excel. La manip suivante ne fonctionne, en effet, pas:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("L2: L36")) Is Nothing Then
Exit Sub
Else
Target.Value = ""
Load UserForm1
UserForm1.Show
End If
If Intersect(Target, Range("N2: N36")) Is Nothing Then
Exit Sub
Else
Target.Value = ""
Load UserForm2
UserForm2.Show
End If
End Sub
pijaku- 3 oct. 2011 à 14:34
Bonjour,
Essaye :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("L2:L36,N2:N36")) Is Nothing Then
    Exit Sub
ElseIf Intersect(Target, Range("L2:L36")) Is Nothing Then
    Target.Value = ""
    Load UserForm2
    UserForm2.Show
ElseIf Intersect(Target, Range("N2:N36")) Is Nothing Then
    Target.Value = ""
    Load UserForm1
    UserForm1.Show
End If
End Sub
Bobby75 - 3 oct. 2011 à 14:48
Merci!

Je tournais autour en bidoullant dans le sens de vos codes mais je ne trouvais pas la solution!

Cela fonctionne à merveille!
coco - 13 mars 2012 à 16:02
Je dois faire la même chose mais avec 4 menus mais je n'arrive pas!
Voilà mon code:


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Intersect(Target, Range("AC6:AF2000")) Is Nothing Then
Exit Sub

ElseIf Intersect(Target, Range("AC6:AC2000")) Is Nothing Then
Target.Value = ""
Load UserForm3
UserForm3.Show

ElseIf Intersect(Target, Range("AD6:AD2000")) Is Nothing Then
Target.Value = ""
Load UserForm2
UserForm2.Show

ElseIf Intersect(Target, Range("AE6:AE2000")) Is Nothing Then
Target.Value = ""
Load UserForm3
UserForm3.Show

ElseIf Intersect(Target, Range("AF6:AF2000")) Is Nothing Then
Target.Value = ""
Load UserForm4
UserForm4.Show

End If
End Sub
Ajouter un commentaire
Réponse
+0
moins plus
J'ai testé cette macro !

Au final, lorsque je clique sur la cellule, le listing n'apparait pas.

De plus une erreur d'execution '6' apparaît . Il s'agit d'une erreur de dépassement de capacité. (Qu'est ce que cela veut dire ?)

Le listing que j'essaie de faire correspond à des noms de rue et il y a près de 300 noms !

Quelqu'un peut m'aider ?
Damich - 29 nov. 2011 à 10:49
Ok le listing se fait , cependant je ne peux pas sélectionner et ajouter la modalité que je souhaite.. l'erreur d'execution "6" apparait tout le temps ...
pijaku- 29 nov. 2011 à 10:56
Oui. Tu as des variables déclarées As Byte (maxi 255) et As Integer.
Remplace Integer et Byte par Long :
Private Sub CommandButton1_Click()
Dim i As Long
Private Sub UserForm_Initialize()
Dim i As Long, Derlig As Long

Ensuite tu as une erreur également dans le nom de la feuille (code du bouton), la restitution des données doit se faire dans la feuille test... :
Private Sub CommandButton1_Click()
Dim i As Long
Dim ValeurARetourner As String
    
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            ValeurARetourner = ValeurARetourner & ListBox1.List(i) & " & "
        End If
    Next i
With Sheets("Test")
    .Range("C3") = Left(ValeurARetourner, Len(ValeurARetourner) - 3)
    .Range("C4").Activate
End With
UserForm1.Hide
Unload UserForm1
End Sub
Damich - 29 nov. 2011 à 11:19
Ok merci pour le coup de main :)
C'est vrai que j'ai bêtement laisser ces erreurs ...

le petit module fonctionne
Ajouter un commentaire
Ce document intitulé « Liste déroulante à choix multiple Excel 2007 » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?