validation donnée choix multiple

beann

XLDnaute Nouveau
Bonjour,

J'aimerais faire une liste via validation de donnée avec sélection multiple? Est-ce que c'est possible? Je travaille sur excel 2010.

Et s'il faut passer par VBA, est-ce qu'on peut m'expliquer en détail comment s'y prendre parce que je ne suis pas très familier.

Merci.
 

john

XLDnaute Impliqué
Re : validation donnée choix multiple

Bonjour,

J'ai pu faire ce que tu veux, mais j'ai dû passer par le VBA (mais pas trop compliqué).
Le code est commenté donc tu devrai t'y retrouver facilement (il y a une dizaine de lignes)

Ci-joint un fichier qui marche (je suis sous excel XP).

Bonne journée.

John

Ps: j'ai oublié de te dire que pour avoir plusieurs valeur dans ta cellule, il suffit de sélectionner une première fois un nombre dans la liste, puis sélectionner un autre et ainsi de suite. Toutes les valeurs se mettront dans ta cellule.
 

Pièces jointes

  • validation_multiple.xls
    24.5 KB · Affichages: 1 132
Dernière édition:

baboucm

XLDnaute Nouveau
Re : validation donnée choix multiple

Bonjour,
J'ai ouvert le fichier joint, c'est exactement ce que je souhaite faire, mais je n'arrive pas à la reproduire (je voudrais utiliser cette fonctionnalité sur plusieurs classeurs et plusieurs colonnes....). En effet quand je clique sur afficher les macros il n'y a aucune macro dans le fichier....(je suis sous excel 2010)
J'ai du louper un épisode...
 

john

XLDnaute Impliqué
Re : validation donnée choix multiple

Bonjour,

As-tu activé les macros ? car je suis sous excel 2010 et j'ai pas de soucis quand j'ouvre les macros, elles sont là !!!!

Voici le code qui est dans la partie "Worksheet_Change"

Private Sub Worksheet_Change(ByVal Target As Range)
Dim range_validation As Range
Dim ancienne_valeur As String
Dim nouvelle_valeur As String
If Target.Count > 1 Then GoTo sortie

On Error Resume Next
Set range_validation = Cells.SpecialCells(xlCellTypeAllValidation)
On Error GoTo sortie

If range_validation Is Nothing Then GoTo sortie

If Intersect(Target, range_validation) Is Nothing Then
'il n'y a rien
Else
Application.EnableEvents = False
nouvelle_valeur = Target.Value
Application.Undo
ancienne_valeur = Target.Value
Target.Value = nouvelle_valeur
If Target.Column = 1 Then 'le 1 est la colonne où se trouve les cellules à remplir avec les sélections (ici c'est la première colonne)
If ancienne_valeur = "" Then
'il n'y a rien
Else
If nouvelle_valeur = "" Then
'il n'y a rien
Else
Target.Value = ancienne_valeur & ", " & nouvelle_valeur
End If
End If
End If
End If

sortie:
Application.EnableEvents = True
End Sub

BàT

John
 
Dernière édition:

Discussions similaires

Réponses
8
Affichages
471
Réponses
21
Affichages
1 K

Statistiques des forums

Discussions
312 489
Messages
2 088 848
Membres
103 974
dernier inscrit
chmikha