Partager une liste de 700 lignes en 7 colonnes

Bonjour à tous.

Tout nouveau sur le forum - après plusieurs heures de recherches, je ne trouve pas de réponse à mon problème ...

J'ai un listing au format Excel (xlsx) de plus de 100 contacts sous cette forme (1 seule colonne et 700 lignes : 7 lignes pour chaque contact).

1 - Nom 1

2 -Prénom 1

3 - Société 1

4 - Adresse 1

5- Téléphone 1

6- Mail 1

7- Pays 1

8 - Nom 2

9 - Prénom 2

10 - Société 2

11 - Adresse 2

12- Téléphone 2

13- Mail 2

14- Pays 2

Je souhaiterais transformer celui-ci comme suit :

A / B / C / D / E / F / G

1 Nom 1 / Prénom 1 / Société 1 / Adresse 1 / Téléphone 1 / Mail 1 / Pays 1

2 Nom 2 / Prénom 2 / Société 2 / Adresse 2 / Téléphone 2 / Mail 2 / Pays 2

3 ...

J'ai bien trouvé l'astuce pour un contact avec la fonction copier / collage spécial / transposé mais ceci ne fonctionne que pour un contact. Existe-t-il une formule qui me permettrait d'obtenir automatiquement un tableau sous la forme ci-dessus, soit 100 lignes et 7 colonnes par lignes.

Merci pour votre attention.

Arno62

Bonjour arno62,

Peux-tu joindre ton fichier en ne gardant que quelques contacts ? Si besoin mets des données bidons. C'est pour adapter directement une solution à ton cas.

Merci beaucoup d'avoir pris en compte ma question.

Ci-joint un fichier avec comme exemple 4 contacts (7 données par contact) soit 28 lignes. que je souhaiterai transformer en 4 lignes de 7 colonnes.

Si je suis la procédure copier - collage spécial - transposé, j'obtiens une ligne de 28 colonnes ...

Bien cordialement,

arno62

Une solution en utilisant la fonction DECALER :

Bonjour, salut vba-new,

En VBA, valable si toujours paquets de 7 lignes

Sub Formate()
Dim Lg&, i%
    Application.ScreenUpdating = False
    Lg = Range("a" & Rows.Count).End(xlUp).Row
    Range("b5:h" & [b65000].End(xlUp).Row + 1).ClearContents 'efface

    For i = 5 To Lg Step 7
        Cells(i, "a").Resize(7, 1).Copy
        Range("b" & Rows.Count).End(xlUp)(2).PasteSpecial Paste:=xlValues, Transpose:=True
        Application.CutCopyMode = False
    Next i
    Application.Goto Range("a5"), Scroll:=True
End Sub

Bonne journée

Claude

19arno62-formate.zip (13.60 Ko)

Bonjour Claude.

Désolé pour le retard. Je tenais à vous remercier pour la réponse et la macro qui fonctionne parfaitement.

J'avoue avoir été "un peu" !!! bluffé - je ne m'attendais pas à recevoir une réponse aussi rapide et aussi précise.

Encore merci.

Bien Cordialement,

arno62

Rechercher des sujets similaires à "partager liste 700 lignes colonnes"