Validation de données, choix multiples, Exce [Résolu/Fermé]

Signaler
-
Messages postés
23583
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
20 octobre 2020
-
Bonjour,

Je cherche à faire sur Excel une base de données qui concerne les compétences de personnels avec lesquels que travaille.

Ainsi j'aimerai au moment où je remplis ma base de données, avoir une liste de choix multiples qui s'afficherait et dans laquelle je pourrais cocher plusieurs données possibles.

J'ai déjà tenté de faire cela avec la validation de données, mais malheureusement, il n'est pas possible de cocher plusieurs données...

J'ai tenté aussi, de mettre des macros, mais là encore je me suis découragée très vite. Malheureusement, je ne suis vraiment une pro d'Excel et je me suis complètement noyée!!!

S'il vous plait aider moi, je suis complétement perdue! Je ne sais plus quoi faire!!!

A bientôt

5 réponses

Messages postés
2940
Date d'inscription
vendredi 1 mai 2009
Statut
Membre
Dernière intervention
19 mars 2016
1 285
Bonjour,

effectivement, la validation des données par liste n'accepte qu'une donnée.
Peux-tu envisager de créer par exemple 3 colonnes faisant référence à une liste de validation (ou à plusieurs).
Une dernière colonne pourrait reprendre les contenus des trois cellules précédentes afin d'afficher les trois informations dans une seule cellule :
par exemple si tes infos sont en B1, C1, D1, en E1 tu peux entrer la formule suivante :=+C1&", "&B1&", "&C1
Entre les guillemets, j'ai mis un séparateur (virgule plus un espace) mais tu peux mettre tout autre chose. On peut également activer le retour à la ligne automatique pour la dernière colonne.
Il est possible de masquer les trois colonnes également pour ne conserver à l'affichage ou à l'impression que la colonne de "synthèse".

A+

pépé
Messages postés
16257
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
22 octobre 2020
3 051
Bonjour

Un exemple avec du VBA pour insérer plusieurs données dans la cellule d'une validation de données
https://www.cjoint.com/?3FxxmQIvMuq
je n'en suis l'auteur que pour enlever la dernière choisie
Messages postés
23583
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
20 octobre 2020
6 419
Bonsoir tout le monde,

Tu m'as pris de vitesse michel... ;-)

Vu que je viens de la finir je met quand même ma proposition qui utilise une listbox :
http://www.cijoint.fr/cjlink.php?file=cj201106/cijIqpGiZD.xls
Les explications sont sur le fichier.

eric
Messages postés
4
Date d'inscription
jeudi 23 juin 2011
Statut
Membre
Dernière intervention
28 juin 2011

Bonjour, à vous tous et un grand merci pour vos réponses!!!!

Eriic, ce que tu as fait est exactement ce que je recherche!!!!! Tu viens d'embellir ma journée!!!
Par contre, je suis loin d'être une As sur excel et les explications que tu me donnes ont du mal à être déchiffrées et comprises par mon cerveau... Peux tu un peu plus détailler???

Je te remercie d'avance.

La bionda

Ps: Merci encore à tous d'avoir pris le temps de me répondre et de me sortir de mon désarroi...
Messages postés
23583
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
20 octobre 2020
6 419
Bonjour,

Le lieux est que tu déposes un fichier exemple (avec des précisions de ce que tu désires dessus) sur cijoint.fr et que tu colles le lien ici
eric
Messages postés
4
Date d'inscription
jeudi 23 juin 2011
Statut
Membre
Dernière intervention
28 juin 2011

Eriiic,
Voici mon exemple avec toutes les précisions.
Je te remercie d'avance pour ton aide.

https://www.cjoint.com/?0FyrRpdOYLo

Amélie
Messages postés
23583
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
20 octobre 2020
6 419
Bonjour,

Je vais t'expliquer mais sur excel 2003, il te faudra trouver l'équivalent sur 2007 (sur vba : aucune différence)

1) nommer les listes :
sélectionner A1:A29, menu 'insertion / nom / créer...', cocher 'ligne du haut' et valider.
La plage A2:A29 se trouve nommée Logiciels_de_calcul (les espaces interdits ont été remplacés par _)
Faire de même sur toutes les listes.
Si la liste doit s'étendre, insérer des celulles avant la dernière, ainsi la définition de la plage s'étendra toute seule.

2) Copier le code de Feui1 de l'exemple, le coller dans Liste CV (clic-droit sur le nom de l'onglet, choisir 'visualiser le code pour y acceder)

Adapter le code :
    Worksheets("Listes").Activate
    ' init listes
    If Target.Column = 2 Then
        'initialiser la liste
        UserForm1.ListBox1.RowSource = [Liste2].Address
    ElseIf Target.Column = 3 Then
        'initialiser la liste
        UserForm1.ListBox1.RowSource = [Liste1].Address
    End If

qui devient :
    Worksheets("Liste Logiciels").Activate
    ' init listes
    If Target.Column = 4 Then
        'initialiser la liste
        UserForm1.ListBox1.RowSource = [Logiciels_de_calcul].Address
    ElseIf Target.Column = 5 Then
        'initialiser la liste
        UserForm1.ListBox1.RowSource = [Logiciels_CAO_3D_2D_et_Robotique].Address
    ElseIf Target.Column = 6 Then
        'initialiser la liste
        UserForm1.ListBox1.RowSource = [PLM_et_Docs_Techniques].Address
    End If

On ne voit pas bien mais les parties modifiées/ajoutées sont en gras.

3) faire un cliqué-glissé du userform de mon projet vers le tiens (la fenetre 'Projet' de vbe doit être affichée, voir menu 'Affichage si besoin)
Si tu construis ton userform la propriété MultiSelect de la listbox doit être : fmMultiSelectExtended

4) inserer un module (clic-droit sur le projet) et y mettre :
Public selectionListe As String

5) tester...

http://www.cijoint.fr/cjlink.php?file=cj201106/cijten1R6y.xls

eric
Messages postés
4
Date d'inscription
jeudi 23 juin 2011
Statut
Membre
Dernière intervention
28 juin 2011

Merci beaucoup Eric pour toutes ces précisions et pour ton aide considérable.

J'ai réussis!! Tout fonctionne comment je le souhaitais et c'est grace à toi! merci encore.

A bientôt

La bionda
Messages postés
23583
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
20 octobre 2020
6 419
De rien
N'oublie pas de mettre en résolu
eric