Liste à choix multiples

mili

XLDnaute Nouveau
Bonjour,

je suis novice sur excel, mais je dois réaliser une saisie de données pour mon étude. Comme mon questionnaire contient des questions où plusieurs choix sont possible, j'aurai aimé les entrer dans excel pour qu'il arrive à les prendre ensuite en compte dans un tableau croisé dynamique. Pour cela, j'ai trouvé sur ce site une "code" (pour VB d'après ce que j'ai compris) qui permet de créer une liste déroulante à choix multiples.
Seulement voila, je n'arrive pas à trouver comment l'utiliser dans ma feuille de calcul :confused: (par ailleurs, si ce n'est pas la bonne solution pour qu'excel arrive à prendre en compte mes données, merci de me le dire ^^).
J'ai regardé les tutoriels pour Visual Basic mais je ne suis pas beaucoup plus avancée, je n'y arrive toujours pas.

Merci beaucoup d'avance pour votre aide.

ps: je vous met le "code" ci-dessous, au cas où cela vous serve pour me répondre ^^

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$2" And Target.Count = 1 Then
Application.EnableEvents = False
ValSaisie = Target
Application.Undo
p = InStr(Target, ValSaisie)
If p > 0 Then
Target = Left(Target, p - 1) & Mid(Target, p + Len(ValSaisie) + 1)
If Right(Target, 1) = Chr(10) Then
Target = Left(Target, Len(Target) - 1)
End If
Else
If Target = "" Then
Target = ValSaisie
Else
Target = Target & Chr(10) & ValSaisie
End If
End If
Application.EnableEvents = True
End If
End Sub
 

Modeste

XLDnaute Barbatruc
Re : Liste à choix multiples

Bonjour mili et bienvenue,

Le code que tu as trouvé permet, chaque fois que tu saisis une valeur en C3, d'ajouter cette valeur au contenu existant (un peu comme si tu double-cliquais sur la cellule, que tu te positionnais derrière le dernier caractère, que tu faisais Alt+Enter et que tu ajoutais des caractères en fin de chaîne)
Est-ce bien ce que tu veux faire? En lisant le titre de ton post, j'avais autre chose en tête!?

Si c'est bien ce que tu veux, qu'est-ce qui te pose problème précisément?
 

mili

XLDnaute Nouveau
Re : Liste à choix multiples

Modeste : Non effectivement ce n'est pas ça que je veux (après avoir testé).

En fait pour être plus claire je vais prendre un exemple simple : je peut avoir des suivi de grossesse avec une sage-femme, un gynécologue-obst, ou les deux. Avec la technique Alt+entrer, ça me compte SF+gynéco comme une 'valeur' à part des deux autres, hors ce que j'aimerai faire c'est pouvoir à la fois compter par exemple le nombre total de suivi par une sage-femme (donc qu'il m'additionne les sf seules et les sf+gynécologue) et dans un autre tableau pouvoir regarder par exemple la satisfaction en fonction du suivi (et que là ça mette Sf+gynéco dans une case différente que le suivi SF seule).

Je ne sais pas si c'est très clair ou même si c'est réalisable, mais en tout cas merci pour votre aide.

@ BOISGONTIER: oui c'est la formule dont je parlais dans mon message initial, je l'ai trouvée dans l'un de vos post.
 

Modeste

XLDnaute Barbatruc
Re : Liste à choix multiples

Bonjour mili, JB, le forum,

Le mieux, mili, serait que tu nous crées un petit fichier exemple (20 à 50 lignes devraient suffire), sans données confidentielles et qui représente tes données (avec "à la main" un exemple des résultats que tu voudrais obtenir).

À te lire, une simple liste de validation devrait suffire pour l'encodage des données, d'une part et la fonction NB.SI suffira peut-être pour l'exploitation des résultats :confused: ... mais sans certitude!
 

mili

XLDnaute Nouveau
Re : Liste à choix multiples

Ah oui effectivement la fonction NB.Si répond exactement à ce dont j'ai besoin ! :D merci !!!
mais du coup j'ai quand même besoin de la liste déroulante qui permet de faire les choix multiples, avec le code que donnais BOISGONTIER je pense :confused:
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Liste à choix multiples

Re²,

Tant mieux si NB.SI te convient! :)
Pour tes listes, il est possible que le code de JB te soit utile, mais nous ne connaissons pas ton fichier ... comment pourrions-nous répondre?? Encore une fois, un petit exemple serait le bienvenu!
 

mili

XLDnaute Nouveau
Re : Liste à choix multiples

Bonjour,

J'ai essayé de vous faire un exemple de mon tableau (j'ai enlevé quelques colonnes de réponse parce qu'il est très long). J'ai laissé dans l'encadré ce que je souhaiterai mettre dans une liste déroulante mais avec un choix multiple (pouvoir associer n'importe lesquelles de ces réponses entre elles) :)

En tout cas merci beaucoup pour votre aide !
 

Pièces jointes

  • classeur test.xlsx
    11.6 KB · Affichages: 42
  • classeur test.xlsx
    11.6 KB · Affichages: 48
  • classeur test.xlsx
    11.6 KB · Affichages: 44

Modeste

XLDnaute Barbatruc
Re : Liste à choix multiples

Bonjour mili,

En fonction de ton exemple, tu as donc 2 solutions:
- adopter la technique proposée par JB (mais dont la mise en place semblait te poser problème, si j'ai bien lu)
- dresser une liste des différentes combinaisons possibles, puis l'utiliser comme source d'une validation "classique"

D'accord, la seconde est un peu plus "fastidieuse" à mettre en oeuvre, mais il me semble qu'elle offre des garanties. En effet, toutes les combinaisons de réponses sont-elles réellement possibles? Peut-on, par exemple associer "Jamais" avec une des autres réponses (idem avec "Ne se prononce pas")
D'autre part, si une erreur est commise lors de la sélection multiple et qu'une même réponse est sélectionée à 2 reprises, les "statistiques" finales risquent d'être légèrement eronnées. Ce type d'erreur ne sera pas possible avec une validation "classique".

Ceci dit, depuis le temps que je vois les propositions formulées par Jacques Boisgontier, je devrais me lancer dans un doctorat en "l'art de rester pantois" ... il est donc possible aussi (mais je ne me porte pas candidat) de tenir compte de ces remarques (pour autant qu'elles soient fondées!) dans une adaptation du code de départ.

Je sais que je donne là l'impression de couper les cheveux en quatre, mais tu feras -bien entendu- ce que tu veux de mes élucubrations :eek:
 

mili

XLDnaute Nouveau
Re : Liste à choix multiples

Bonsoir,

En fait le code créé par Boisgontier tiens déjà compte de ces remarques car en cliquant deux fois sur la même valeur cela la dé-selectionne (oui c'est juste génial comme idée :) ). Pour le faire manuellement il faut que je crée 33 possibilités (un peu fastidieux en effet ^^) et ce pour chaque réponse à choix multiples, du coup si vous pouviez m'aider à faire marcher la première technique ça me faciliterai grandement la vie :eek:

J'ai réussi à mettre le code su Virtual Basic, à tout faire marcher sauf que le code s'arrete à la première ligne (If Target.Address = "$C$2" And Target.Count = 1 Then) en disant erreur d'exécution 424 objet requis... et je ne vois pas quoi faire :confused:

Merci pour vos réponses en tout cas
 

Modeste

XLDnaute Barbatruc
Re : Liste à choix multiples

Re,

Je te conseillerais bien d'attendre que JB repasse par ici, mais s'il est parti faire de la rando, Dieu sait pour combien de temps il en a (imagine un peu: un trekking improvisé en Inde :eek:). Enfin quand il reviendra, il nous dira si je ne me suis pas trompé!

Il me semble que je modifierais la ligne que tu citais: If Target.Address = "$C$2" And Target.Count = 1 Then ... non pas parce qu'elle ne fonctionne pas, mais pour qu'elle s'applique à toute la plage concernée dans ton dernier exemple.
Elle deviendrait If Not Intersect(Target, [F2:F14]) Is Nothing And Target.Count = 1 Then La plage F2:F14 est évidemment à ajuster.

Pour ton erreur, difficile de deviner d'où elle vient :confused: Vérifie si tu as bien placé le code dans le module de la feuille concernée. Reprends le dernier fichier de JB, ouvre le Visual Basic Editor et observe que le code est dans le module de la feuille "ChoixMulti"
 

mili

XLDnaute Nouveau
Re : Liste à choix multiples

Bonsoir,

:( cela faisait la même erreur avec la ligne que tu m'as envoyée. Puis j'ai vérifié comme tu m'a dit si le code était bien dans le module de la feuille choisie, et il se trouve que non, j'avais créé un module à part (je sais je suis bête ^^'), donc j'ai ouvert le module de la feuille, tout copié. Sauf que je ne sais pas ce que j'ai fait de travers mais maintenant la feuille n'apparait plus dans le classeur excel et quand j'essaye d’exécuter le code dans VB, il ne le reconnait plus comme une macro :'( au secours

ps: désolée pour tous ces problèmes et questions, je suis vraiment novice alors je tâtonne et j'ai l'impression que j'ai fais n'importe quoi :(
 

Modeste

XLDnaute Barbatruc
Re : Liste à choix multiples

Bonsoir mili,

Tu noteras que je ne m'empresse pas d'insister sur le fait que tu aurais dû choisir une validation "simple" :D

Sérieusement, ta feuille doit simplement être masquée: dans l'éditeur VBA, tu la vois encore? Si oui, elle est encore dans le classeur et cachée.
Première piste: fais un clic droit sur n'importe quel onglet. Si l'option "Afficher..." est accessible dans le menu contextuel, sélectionne-la et si dans la boîte de dialogue suivante tu vois ta chère disparue, clique sur son nom. Elle devrait réapparaître!

Si ça ne fonctionne pas, dis-le nous, on te donnera la seconde piste ...
 

mili

XLDnaute Nouveau
Re : Liste à choix multiples

Re,

En effet ma précieuse feuille est réapparue :D
Tu as raison, j'abandonne je vais faire la liste simple avec les 33 proposition, ça me prendra moins de temps ^^' sauf si JB passe par là à son retour d'inde, auquel cas je serait contente d'entendre quelle étais sa solution :)

En tout cas merci !! et bonne soirée
 

Discussions similaires

Réponses
2
Affichages
163

Statistiques des forums

Discussions
312 674
Messages
2 090 790
Membres
104 665
dernier inscrit
ronbt