Rhiannon51
XLDnaute Nouveau
Bonjour le forum,
Après plusieurs essais infructueux, je viens vous demander quelques précieux conseils.
Voilà ma problématique :
J'ai des données issues d'une enquête qui se présente comme ça :
domaine1 revue1 revue2 revue3 ...
domaine2 revue1 revue2 ...
...
Je voudrais réorganiser mes données pour obtenir ça :
domaine1 revue1
domaine1 revue2
domaine1 revue3
domaine1 ...
domaine 2 revue1
domaine 2 revue2
domaine 2 ...
...
J'ai essayé avec un code trouvé sur internet en l'adaptant à mon fichier mais je bloque sur la 2ème boucle For. Je sais que la syntaxe est erronée mais je n'arrive à la corriger.
Ci-dessous le code en question :
Je vous joins également un fichier exemple.
J'espère avoir été assez claire dans mes explications.
Merci de votre aide.
Rhiannon.
Après plusieurs essais infructueux, je viens vous demander quelques précieux conseils.
Voilà ma problématique :
J'ai des données issues d'une enquête qui se présente comme ça :
domaine1 revue1 revue2 revue3 ...
domaine2 revue1 revue2 ...
...
Je voudrais réorganiser mes données pour obtenir ça :
domaine1 revue1
domaine1 revue2
domaine1 revue3
domaine1 ...
domaine 2 revue1
domaine 2 revue2
domaine 2 ...
...
J'ai essayé avec un code trouvé sur internet en l'adaptant à mon fichier mais je bloque sur la 2ème boucle For. Je sais que la syntaxe est erronée mais je n'arrive à la corriger.
Ci-dessous le code en question :
Code:
'On boucle sur toutes les cellule de la colonne A, on quittera sur contenu cellule vide
For I = 7 To Rows.count
If Cells(I, "A") = "" Then Exit For
'On regarde le nombre de ligne qui vont etre créer
NbrSaute = Cells(I, columns.count).End(xlToLeft).Column - 1 '-1 pour ne pas tenir compte de A
'On boucle de la derniere colonne remplie a la colonne B
For Col = range(cells(i, columns.count).End(xlToLeft),cells(i,"B") Step -1
'on ajoute une ligne sous la cellule
Cells(I + 1, "A").EntireRow.Insert
'on lui donne le meme contenue (n°Insee)
Cells(I + 1, "A").Value = Cells(I, "A").Value
'On met le contenue de la colonne Col dans la 2eme colonne de la ligne suivnate
Cells(I, Col).Cut Cells(I + 1, "B")
Next
'On saute les 2 ligne fraichement rajoutées
I = I + NbrSaute
Next
Je vous joins également un fichier exemple.
J'espère avoir été assez claire dans mes explications.
Merci de votre aide.
Rhiannon.