Ben Kenobi 15 Posté(e) le 13 décembre 2011 Partager Posté(e) le 13 décembre 2011 Bonjour tous, J'ai un souci au boulot avec Excel, mes recherches ne donnent rien et j'avance pas Donc le cas est le suivant : Dans une feuille de calcul j'ai une seule ligne composée avec dans chaque colonne les informations suivantes : NOM1 NOM2 PRENOM L'opération se répète ainsi sur +8000 colonnes. (ex : NOM1 NOM2 PRENOM NOM1 NOM2 PRENOM NOM1 NOM2 PRENOM ...) Mon objectif est de trouver un moyen de lui dire de me faire un retour à la ligne toutes les 3 colonnes pour obtenir un tableau de cette forme : NOM1 NOM2 PRENOM NOM1 NOM2 PRENOM NOM1 NOM2 PRENOM ... Avez-vous une idée... j'ai essayé la méthode de conversion mais elle ne peut s'appliquer ici a priori.... Merci d'avance. Lien à poster
DEF 27 Posté(e) le 13 décembre 2011 Partager Posté(e) le 13 décembre 2011 Là, comme ça, j'ai testé rapidement ceci : Public Sub Permutation() Dim iCol As Integer Dim iRow As Integer iRow = 2 For i = 4 To ActiveSheet.Columns.Count Step 3 Range(Cells(1, i), Cells(1, i + 2)).Select Application.CutCopyMode = False Selection.Cut Range(Cells(iRow, 1), Cells(iRow, 1)).Select ActiveSheet.Paste iRow = iRow + 1 Next i End Sub Testé sous Excel 2003 avec un petit échantillon, cela fonctionne. Bon cela se termine en erreur parce que mon algo ne gère pas le fait que l'on puisse dépasser le nombre de colonnes maxi. Mais cela peut se corriger. EDIT : A tester sur une copie du fichier avant toute chose, hein? Lien à poster
jefelbo 5 Posté(e) le 13 décembre 2011 Partager Posté(e) le 13 décembre 2011 formule dans les 3 premières colonnes de la feuille de destination =INDIRECT(ADRESSE(1;(LIGNES(1:$1)-1)*3+ENT(COLONNES($A:-1);;;"data"))&"" Si les données sont dans la feuille data edit fichier exemple re edit j arrive pas a joindre un fichier Lien à poster
DEF 27 Posté(e) le 13 décembre 2011 Partager Posté(e) le 13 décembre 2011 Je m'incline. Lien à poster
jefelbo 5 Posté(e) le 13 décembre 2011 Partager Posté(e) le 13 décembre 2011 Je m'incline. Aucune raison : source http://www.excel-downloads.com/forum/172163-partager-une-liste-de-700-lignes-en-7-colonnes.html Lien à poster
DEF 27 Posté(e) le 13 décembre 2011 Partager Posté(e) le 13 décembre 2011 Devant les maîtres d'Excel, on va dire . Lien à poster
jefelbo 5 Posté(e) le 13 décembre 2011 Partager Posté(e) le 13 décembre 2011 Peut être que on peut pas loader des fichiers xlsx ? Lien à poster
stranger 2 Posté(e) le 13 décembre 2011 Partager Posté(e) le 13 décembre 2011 .xlsx / .docx @#! la terreur des imprimeurs, c'est une vrai merdasse ces fichiers. Sinon pour vos code démerdez-vous Lien à poster
DEF 27 Posté(e) le 13 décembre 2011 Partager Posté(e) le 13 décembre 2011 jefelbo > Je n'ai pas compris ta remarque? stranger >Pourtant, il y a tout ce qu'il faut, avec un bel aperçu avant impression Lien à poster
stranger 2 Posté(e) le 13 décembre 2011 Partager Posté(e) le 13 décembre 2011 Oui et une incompatibilité constante avec l'ensemble de mes logiciels Lien à poster
jefelbo 5 Posté(e) le 13 décembre 2011 Partager Posté(e) le 13 décembre 2011 Def < dans message fonctionnalité Joindre des fichiers : je l'avais déjà utilisée avec succès pour uploader des images. Mais là : impossible d'uploader un fichier xlsx (tout petit en plus : 9,10Ko) alors qu'il me reste 238,76Ko sur mon quota de 500Ko. edit : Pas de message d'erreur visible, mais peut être que cela vient de la politique réseau de mon client qui se durcie de plus en plus Lien à poster
Ben Kenobi 15 Posté(e) le 13 décembre 2011 Auteur Partager Posté(e) le 13 décembre 2011 DEF > TU es un Roi quand même, ta formule marche du tonnerre !! Mais maintenant j'ai besoin de la même pour la même chose sur 2 colonnes NOM1 NOM2 NOM1 NOM2 NOM1 NOM2 ... pour faire NOM1 NOM2 NOM1 NOM2 NOM1 NOM2 ... et je suis pas doué en Visual basic... Sinon jefelbo, ta formule m'a l'air très bien, mais finalement la solution de DEF me convient bien... Donc DEF si tu peux me la refaire tu auras ma reconnaissance éternelle pour toujours Lien à poster
jefelbo 5 Posté(e) le 13 décembre 2011 Partager Posté(e) le 13 décembre 2011 Ben Kenobi : pas de problème, je préfère aussi la solution de DEF, c’était juste pour donner une solution qui n'oblige pas à faire une macro. Autrement, modifier la solution de DEF ne doit pas être trop dur à adapter : For i = 3 To ActiveSheet.Columns.Count Step 2 Range(Cells(1, i), Cells(1, i + 1)).Select mais à faire valider par l'auteur ou à tester edit : ma solution "excelienne" pour 2 colonnes formule dans les 2 premières colonnes de la feuille de destination =INDIRECT(ADRESSE(1;(LIGNES(1:$1)-1)*2+ENT(COLONNES($A:-1);;;"data"))&"" Lien à poster
DEF 27 Posté(e) le 13 décembre 2011 Partager Posté(e) le 13 décembre 2011 Ben à priori, il faut juste changer For i = 4 To ActiveSheet.Columns.Count Step 3 Range(Cells(1, i), Cells(1, i + 2)).Select en For i = 3 To ActiveSheet.Columns.Count Step 2 Range(Cells(1, i), Cells(1, i + 1)).Select Mais la solution de jefelbo est plus "excelienne", d'autant quelle ne touche pas aux données d'origine. Lien à poster
Ben Kenobi 15 Posté(e) le 13 décembre 2011 Auteur Partager Posté(e) le 13 décembre 2011 jefelbo > cette modif ne marche pas... j'ai essayé de modifié le code déjà mais sans plus de succès Lien à poster
DEF 27 Posté(e) le 13 décembre 2011 Partager Posté(e) le 13 décembre 2011 Ben > Je viens de vérifier et si, cela fonctionne bien. Il y a 3 modifs à faire : For i = 3 To ActiveSheet.Columns.Count Step 2 Range(Cells(1, i), Cells(1, i + 1)).Select EDIT : Hahahaha, la balise code qui fout tout en l'air. EDIT2 : jefelbo > par rapport aux pièces jointes, je pense qu'il doit y avoir une restriction sur le type de fichier joint. il faut que je regarde dans la configuration du forum. Lien à poster
TeKa 8 Posté(e) le 13 décembre 2011 Partager Posté(e) le 13 décembre 2011 Moi je préfère la méthode export en CSV, puis moulinette sed ou AWK. Lien à poster
Ben Kenobi 15 Posté(e) le 13 décembre 2011 Auteur Partager Posté(e) le 13 décembre 2011 Bon merci à tous... vos méthodes étaient très bien... j'ai d'autres soucis maintenant mais c'est du à ma liste pas à Excel... 2500+ noms a reprendre 1 un 1 !! 1 journée de perdue aujourd'hui ! Lien à poster
Messages recommandés