Codage de tableau

Bonjour,

j'ai actuellement un tableau de données contenant les réponses d'un questionnaire sous cette forme (en un peu plus grand)

sexe / Age / pratiquez vous du sport / combien de temps

homme / 26 / oui / entre 5 et 10min

femme / 53 / oui / entre 30 et 50min

homme / 32 / oui / entre 5 et 10min

les réponses proviennent de questions à choix multiples principalement.

Pour l'exploiter et l'utiliser, j'aurai besoin de le transformer en :

1 (sexe) / 2 (Age) / 3 (pratiquez vous du sport) / 4 (combien de temps)

A / 26 / A / A

B / 53 / A / C

A / 32 / A / A

en gros coder les réponses ; remplacer les données (homme/femme) par des lettres (A/B)

j'ai essayé avec la formule SI, mais c'est j'ai un peu du mal. De plus, il y a 74 questions et 425 répondants...

Si vous connaissez un moyen de remplacer les données par des codes, merci de votre réponse

Bonjour,

le plus simple serait que tu nous donne le classeur excel (possibilité de joindre un fichier sur le forum),

afin que quelqu'un te propose une solution, à première vue ça ne semble pas compliqué ce que tu souhaites faire.

Bonjour,

voilà en pièce jointe le tableau.

quelques explications ;

ligne n°1 les numéros des questions

ligne n° 2 les possibilités de réponses (à choix unique, choix multiple, ou réponse numérique)

de la ligne n°3 à 11 les possibilités de réponses avec le codage (A, B, C, etc...)

puis à partir de la ligne 13, les réponses que je souhaiterai remplacer par des lettres (A, B,C, etc...)

pour la première colonne homme/femme, j'ai fait le codage : c'est pourquoi elle est en bleu.

A mon avis il y a différentes difficultés selon si ce sont des réponses à choix unique, choix multiple ou numérique.

Ce serait sympa de m'expliquer comment faire pour que la prochaine fois je soit capable de le réaliser tout seul !

merci d'avance

(le tableau est en 2 partie sinon il est trop gros)

-- 23 Déc 2010, 16:00 --

et le tableau n°2

Voici un exemple pour une ligne :

Je n'ai gardé comme réponse que la ligne 13, et l'équivalent avec les lettres A,B... correspondants aux réponses de cette ligne se trouve à la ligne 14. (J'ai fait uniquement pour les 10 premières questions).

J'ai utilisé la fonction RECHERCHEV, qui recherche un terme dans une colonne et te donne la valeur d'une cellule situé sur la même ligne. Cette fonction ne pouvant donner la valeur d'une cellule citué uniquement sur la droite, j'ai copié/collé la colonne A (qui se trouve donc à gauche de toutes les autres) en colonne AY.

Cette solution ne fonctionne pas pour les valeurs qui n'ont pas d'équivalent dans la liste des choix.

Ex : "de 20 à 30 ans", la réponse est "23".

Bonjour

Pour faire ce que tu demandes, il est obligatoire que les réponses correspondent exactement aux choix proposés (Tout au moins pour les réponse à choix unique)

Hors, ce n'est pas le cas.

Exemple

La cellule F19 contient le texte

Oui dans le cadre d'un club

et la cellule modèle réponse en F4

Oui dans le cadre d’un club

Si ces textes paraissent identiques, il n'en est rien, l'un contient une apostrophe (CODE(146) et l'autre une apostrophe CODE(39) et Excel les différencie.

Autre exemple G13 et G5

G13 contient le même texte que G5, mais G5 a une espace en plus.

Trop de cellules présentent ce même genre d'écart.

Sinon, pour les réponses uniques, tu peux voir sur le fichier joint à partir de la ligne 442 ce que donnerait une formule simple pour faire la conversion.

Cordialement

Bonsoir

A mon habitude j'ai fait une macro mais qui traite tous les cas

Quelques remarques dans le fichier dont l'apostrophe que t'indique Amadéus

Ce n'est que la partie 1 que j'ai traitée

Bonjour et meilleurs voeux,

merci pour ses réponses, j'ai trouvé les réponses qui ne correspondaient pas avec les choix de réponses, j'arrive à les remplacer.

par contre je bloque sur les réponses à choix multiples, comment fait tu pour qu'il te remplaces par plusieurs lettres ?

merci de votre réponse

-- 04 Jan 2011, 11:34 --

autre chose,

je ne comprend pas comment tu arrives à remplacer un chiffre en lettre (dans les réponses numériques)

merci

Bonjour et Bonne Année

je pense (mais pas sur sur) que tu t'adresses à moi

sur les réponses à choix multiples, comment fait tu pour qu'il te remplaces par plusieurs lettres

Comme pour les réponses à choix unique, je décompose (Split) la réponse (comme elle est séparée par des points-virgules) en un tableau contenant toutes la réponses comme étant unique, et pour chaque morceau de réponse (en cas de réponse unique : 1 seul morceau) je cherche la lettre correspondante

Et tant que je ne suis pas au bout du tableau la réponse est constituée des lettres correspondantes aux réponses

remplacer un chiffre en lettre (dans les réponses numériques)

j'utilise le principe de RECHERCHEV avec comme critère de retourner la ligne relative de la valeur supérieure, ainsi avec cette ligne relative j'en déduit la ligne de la lettre correspondante que je mets dans la valeur retournée

Bonne journée

Bonjour Banzaï,

Concernant les réponses à choix multiples, j'ai compris. J'ai donc fait l'autre partie du tableau (pour m’entraîner !)

Par contre je bloque toujours sur les réponses numériques et la fonction "recherchev".

Si ça ne te déranges pas, je serais reconnaissant que tu m'expliques un peu plus en détails. (sur forum ou feuille excel)

merci !

Bonjour

A lire

Juste la partie qui traite les réponses numériques

      For J = 3 To 11                                                         ' Prépare le tableau avec limite inférieure et supérieure
        If Cells(J, Cl) <> "" Then
          Msg = UCase(Cells(J, Cl))                                           ' Passe le choix en majuscules
          If InStr(1, Msg, "MOINS") > 0 Then                                  ' Doit correspondre au 1er choix
            Limites(0) = Val(Mid(Msg, InStr(1, Msg, "DE ") + 3, 100))         ' Choix intermédiaires
          ElseIf InStr(1, Msg, "ENTRE") > 0 Then
            Limites(J - 3) = Val(Mid(Msg, InStr(1, Msg, "ET ") + 3, 100))     ' Choix final
          ElseIf InStr(1, Msg, "PLUS") > 0 Then
            Limites(J - 3) = 10000
          End If
        End If
      Next J
      '
      ' Les données importantes sont remplacées par "...."
      '
      ' A la sortie dans le tableau Limites on a
      ' Limites(0) la valeur qui est dans le choix "Moins de ...."
      ' Limites(1) à au maximum Limites(7) la valeur dans le choix "Entre (on s'en fout) et ...."
      ' Limites(dernier élément du tableau) la valeur dans le choix "Plus de ...."
      '
      ' Il faut que les propositions doivent TOUJOURS respecter une certaine syntaxe
      '
      ' 1ère proposition            : "Moins de ..."
      ' Propositions intermédiaires : "Entre (une valeur) et ...."
      ' Dernière proposition        : "Plus de ...."
      '
      ' Les réponses doivent être NUMERIQUES
      '
      For J = 13 To Lg                                                        ' Boucle sur toute les réponses
       If Cells(J, Cl) <> "" Then                                             ' Réponse à cette question ?
          Msg = ""                                                            ' Initialise les équivalences Choix --> Lettre
          Trouve = False
          For K = 0 To 8
            If Val(Cells(J, Cl)) <= Limites(K) Then                           ' Réponse inférieure à la limite supérieure de la fourchette
              Trouve = True                                                   ' On note une concordance
              Msg = Msg & Cells(K + 3, 1)                                     ' Récupère la Lettre attribuée
              Exit For                                                        ' Dés que trouvé on sort de la boucle
            End If
          Next K
          If Trouve = False Then                                              ' Un élément de la réponse ne concorde pas
            Cells(J, Cl).Interior.ColorIndex = 7                              ' On signale la cellule en cause
          End If
          Cells((J - 12) + Lg, Cl) = Msg                                      ' Ecriture de la conversion réponse --> lettre
        End If
      Next J

J'espère que tu vas pouvoir comprendre (je ne suis pas pédagogue)

Sinon à te lire

rebonjour,

ce n'est pas faute d'avoir essayer mais je n'arrive pas à comprendre comment faire pour les réponses numériques.

je me permet donc de refaire appel à tes services en t'envoyant une seule question à réponse numérique.

si tu pouvais me la coder en faisant apparaître les formules ce serait sympa. merci

Bonjour

A voir

Rechercher des sujets similaires à "codage tableau"