Validation de données, choix multiples, Exce
Résolu
labionda06
-
eriiic Messages postés 25847 Statut Contributeur -
eriiic Messages postés 25847 Statut Contributeur -
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
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
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é
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é
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
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
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
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
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...
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...
Eriiic,
Voici mon exemple avec toutes les précisions.
Je te remercie d'avance pour ton aide.
https://www.cjoint.com/?0FyrRpdOYLo
Amélie
Voici mon exemple avec toutes les précisions.
Je te remercie d'avance pour ton aide.
https://www.cjoint.com/?0FyrRpdOYLo
Amélie
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 :
qui devient :
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question