Inversement lignes/colonnes (MACRO)

Bonjour,

Je me permets de vous déranger car je fais actuellement face à un réel problème.

Mon document est un document excel 2007, d'environ 30 000 lignes dans lequel je souhaiterai inverser les lignes et les colonnes d'une des feuilles de façon automatique.

PS: je connais la méthode manuelle avec collage spécial.

J'ai donc cru comprendre qu'il fallait que je fasse une macro, or je n'y connais strictement rien. Je sais comment en appliquer une mais je n'ai aucune idée du code à utiliser ni comment le réaliser.

Pour vous donner un exemple bref et précis:

Colonnes: A B C

Lignes : D E

Et ce que je souhaite faire:

Colonnes: D E

Lignes : A B C

Si l'un de vous aurait l'amabilité de m'aider sur ce point ce serait vraiment gentil.

Je vous remercie par avance.

Au passage: si la personne qui va m'aider peut m'expliquer de façon basique le code histoire que je progresse sur le sujet ce serait vraiment sympathique s'il vous plait

Bonour,

dans les règles du forum il y a ceci que peu lisent ..

"Pensez à joindre un fichier pour faciliter la compréhension du problème et augmenter les chances de vous faire aider (taille limite : 300ko, n'hésitez pas à compresser vos fichiers)."

Tu auras + de chances d'avoir des réponses

Bonjour Patrick,

Je te remercie tout d'abord de ta réponse.

Cependant le fichier que je dois modifier est un fichier professionnel il m'est donc impossible de le diffuser sur internet, c'est pourquoi j'ai essayé de faire au mieux en donnant un exemple.

cdlt,

Je peux comprendre mais un fichier avec des donnés factices fonctionnera aussi , c'est le principe du (des) fichiers() qui compte

remplace les nom par abc - cde - efg et les chiffres par =alea() *156 par ex

P.

re,

essaie ceci sur un fichier sans valeur; données en colonne B et C et nomme "source" là où sont tes données et "cible" où elles iront

P.

ps: plus dispo pendant qq jours, si besoin d'aide demande à d'autres ici, il y a bien plus compétent que moi

Sub Inverser_regrouper()

Set f = Sheets("cible")

Set f1 = Sheets("source")

Set d = CreateObject("Scripting.Dictionary")

Set d2 = CreateObject("Scripting.Dictionary")

f1.Select

For Each c In [B2].Resize(Application.CountA([b:b]))

tmp = c.Value & c.Offset(, 1)

If c.Value <> "" Then

If Not d2.exists(tmp) Then d(c.Value) = d(c.Value) & c.Offset(, 1) & "|"

d2(tmp) = ""

End If

Next c

ligne = 1: col = 1

For Each c In d.keys

f.Cells(ligne, col) = c

a = Split(d.Item(c), "|")

f.Cells(ligne, col).Offset(1).Resize(UBound(a) + 1) = Application.Transpose(a)

col = col + 1

Next c

f.Select

End Sub

J'ai du m'absenter une petite semaine, mais je viens de voir ta réponse, je vais tester ca, merci beaucoup

Rechercher des sujets similaires à "inversement lignes colonnes macro"