Regrouper des modalités pour une question a choix multiples

Bonjour,

Je réalise une analyse et j'ai posé la question suivante : Quel(s) produit(s) avez vous déjà acheté ?

Des personnes ont donc répondu une ou plusieurs modalités ("ordinateur" ou "ordinateur et smartphone" par exemple) vu que c'était une question où plusieurs choix étaient possibles.

capture d ecran 2022 08 06 120917

J'aimerai donc avoir juste une ligne "Ordinateur" regroupant le cumulé de tous les gens ayant sélectionné ordinateur et non pas avoir une ligne différente comme sur la capture d'écran. Je voudrai bien évidemment la même chose pour les autres modalités.

Pouvez-vous m'aider svp ? Je suis perdu.

Merci d'avance !

Bonjour Yoatus et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum et notamment :

  • Joignez (si possible) un fichier pour augmenter vos chances d'obtenir de l'aide en cliquant sur le bouton Fichier de l'éditeur. Si votre fichier est trop lourd ou contient des données personnelles, créez une version allégée de votre fichier avec juste assez d'informations pour permettre de comprendre votre problème. Dans tous les cas, ne postez JAMAIS de fichiers avec des informations personnelles ou confidentielles (cet utilitaire peut vous aider à les retirer).

Merci de votre participation

Cordialement

Merci de l'accueil !

Je viens d'ajouter mon fichier, et reste donc en attente d'un retour.

Merci d'avance :)

bonjour,

image
Sub xxxx()
     a = ActiveSheet.UsedRange.Columns(4).Value
     Set dict = CreateObject("scripting.dictionary")
     dict.comparemode = vbTextCompare
     For i = 2 To UBound(a)
          If Len(a(i, 1)) > 0 Then
               s = a(i, 1)
               For j = 1 To Len(s)
                    b = (Mid(s, j, 1) = "(") Or (b And Not (Mid(s, j, 1) = ")"))
                    If Mid(s, j, 1) = "," And Not b Then s = Replace(c, ",", "|", j, 1)
               Next
               sp = Split(s, "|")
               For k = 0 To UBound(sp)
                    dict(sp(k)) = dict(sp(k)) + 1
               Next
               DoEvents
          End If
     Next

     With ActiveSheet
          .Range("CA1").Resize(, 3).EntireColumn.Clear
          With .Range("CA1").Resize(dict.Count)
               .Value = Application.Transpose(dict.keys)
               .Offset(, 1).Value = Application.Transpose(dict.items)
               .Resize(, 2).EntireColumn.AutoFit
          End With
     End With

End Sub

Merci BsAlv,

Je crois que je me suis mal exprimé.

Mon objectif est de pouvoir directement lorsque je fais un tableau croisé dynamique, avoir les modalités cumulées d'"ordinateur" pour donner un exemple (je souhaite que cela fonctionne pour chacune des modalités)

En effet, dans mon cas je souhaite croiser cette variable avec d'autres comme le sexe, la CSP par exemple afin d'en tirer des stats intéressantes, et si je peux passr directement par des TCD c'est mieux.

y'a t-il un moyen de réaliser cela ?

Mercie et désolé du dérangement

re,

je ne vois pas de moyen pour réaliser cela, indirect oui, suppose qu'il y a 3 parties la-dedans, alors je répète cela 3 fois avec chaque partie individuel, mais cela causera d'autre problèmes en statistique, donc, no.

Mais peut-être quelqu'un autre ?

le problème, ce n'est pas de compter chaque élément, mais plus tard, pour qu'on ne compte chaque record qu'une fois.

re,

feuille TCD

à gauche un TCD a partir du tableau de la feuille "Nouveau"

à droite avec de formules à partir de la feuille "Feuil1"

Merci !

Je vais essayer de me débrouiller avec ton fichier.

Encore merci d'avoir pris de ton temps pour essayer d'y répondre :)

Rechercher des sujets similaires à "regrouper modalites question choix multiples"