Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA: Besoin macro en boucle

hasardeux

XLDnaute Nouveau
Bonsoir la communauté,

J'ai vraiment besoin de votre aide.

En fait, j'ai un tableau excel avec de milliers de lignes et quelques colonnes.

Je voudrais que 3 de mes colonnes soient en ligne (en utilisant le transposé sans blanc)

Le fichier ci joint contient 2 classeurs: BRUT (tableau initial) et RESULTAT (tableau attendu) .

Il faut noter que le fichier joint est juste une partie. Le fichier réel est bcp plus long (d'où l'importance d'un code en boucle).

Merci encore de vos aides précieuses
 

Pièces jointes

  • Recette2.zip
    35.4 KB · Affichages: 33
  • Recette2.zip
    35.4 KB · Affichages: 32
  • Recette2.zip
    35.4 KB · Affichages: 32

hasardeux

XLDnaute Nouveau
Re : VBA: Besoin macro en boucle

Non, c'est juste un tableau excel que j'ai récupéré. Je pense pas qu'il s'agit d'un tableau dynamique.

Donc je dois le transformer au format attendu afin que je puisse l'intégrer dans un logiciel de type commercial.
 

Efgé

XLDnaute Barbatruc
Re : VBA: Besoin macro en boucle

Bonjour à tous,
Je vous fait une proposition, Liste de la feuille 1 transposée en feuille 2.
Cordialement
 

Pièces jointes

  • transpose.xls
    32.5 KB · Affichages: 47
  • transpose.xls
    32.5 KB · Affichages: 46
  • transpose.xls
    32.5 KB · Affichages: 45

hasardeux

XLDnaute Nouveau
Re : VBA: Besoin macro en boucle

Merci bcp pour votre aide.

MAIS ça correspond pas vraiment à ma demande.

Il me faut en fait une boucle qui me permet d'avoir le même résultat que mon fichier joint.

Dans l'attente

Merci encore et encore
 

Efgé

XLDnaute Barbatruc
Re : VBA: Besoin macro en boucle

Re
Autant pour moi, mais le résultat demandé est soit : Un filtre et insertion de deux colonnes ou Insertion de deux colonnes.
Je ne comprend pas la demande.
Désolé
Cordialement
 

kjin

XLDnaute Barbatruc
Re : VBA: Besoin macro en boucle

Bonsoir,
Avec ce que je comprends
Code:
Sub Macro3()
Dim T As Variant, Ta As Variant, Tb() As Variant
With Sheets("BRUT")
Ta = .Range("A1:D1").Value
T = .Range("A2:G" & .Range("A65000").End(xlUp).Row).Value
    For i = 1 To UBound(T, 1)
        x = x + 1
        ReDim Preserve Tb(1 To 6, 1 To x)
        Tb(1, x) = T(i, 1)
        Tb(2, x) = T(i, 2)
        Tb(3, x) = T(i, 3)
        Tb(4, x) = T(i, 4)
        Tb(5, x) = .Range("E1")
        Tb(6, x) = T(i, 5)
        x = x + 1
        ReDim Preserve Tb(1 To 6, 1 To x)
        Tb(1, x) = T(i, 1)
        Tb(2, x) = T(i, 2)
        Tb(3, x) = T(i, 3)
        Tb(4, x) = T(i, 4)
        Tb(5, x) = .Range("F1")
        Tb(6, x) = T(i, 6)
        x = x + 1
        ReDim Preserve Tb(1 To 6, 1 To x)
        Tb(1, x) = T(i, 1)
        Tb(2, x) = T(i, 2)
        Tb(3, x) = T(i, 3)
        Tb(4, x) = T(i, 4)
        Tb(5, x) = .Range("G1")
        Tb(6, x) = T(i, 7)
    Next
End With
With Sheets("RESULTAT")
    .Range("A1:D1") = Ta
    .Range(.Cells(2, 1), .Cells(UBound(Tb, 2) + 1, UBound(Tb, 1))) = Application.Transpose(Tb)
End With

End Sub
A+
kjin
 

Pièces jointes

  • Hasardeux.zip
    9.9 KB · Affichages: 17
  • Hasardeux.zip
    9.9 KB · Affichages: 17
  • Hasardeux.zip
    9.9 KB · Affichages: 16

Excel-lent

XLDnaute Barbatruc
Re : VBA: Besoin macro en boucle

Bonsoir tout le monde,

Je vois que plusieurs solutions ont été donné!

Ayant travaillé sur une solution, et ne voulant pas l'avoir fait pour rien.

Voici ci-joint ma proposition.

La macro est faite pour pouvoir être lancé à partir de n'importe quelle onglet!

-> "outils" / "macro" / "macros..." / sélectionner la macro "proposition"
(il ne te reste plus qu'à créer un bouton pour lancer la macro)

Bonne soirée à tous
 

Pièces jointes

  • Recette2 proposition.zip
    24.5 KB · Affichages: 20

Efgé

XLDnaute Barbatruc
Re : VBA: Besoin macro en boucle

Re hasardeux, bigmousse.
Bonjour kjin, Excel-lent.
En regardant le fichier proposé on trouve ce code :
Code:
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 21/01/2010 par mattou
'
' Touche de raccourci du clavier: Ctrl+w
'
    Selection.EntireRow.Insert
    Selection.EntireRow.Insert
End Sub
Il semble que les propositions soient bien plus complexes que la demande

kjin,
Etant sur le forum pour "fairecequejepeux" (c) Dull et apprendre, pouvez vous m'expliquer :
Code:
ReDim Preserve Tb(1 To 6, 1 To x)
En vous remerciant par avance de votre réponse.
Cordialement
 

hasardeux

XLDnaute Nouveau
Re : VBA: Besoin macro en boucle

Je remercie tout le monde.

Les macros propsées m'ont permis d'économiser des heures et des heures de travail.

Encore merci pour votre aide précieuse à mes yeux et vive la communauté
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…