PB Copier et transposer UNE à UNE les lignes visibles apres un filtre

Malka

XLDnaute Occasionnel
Bonjour à tous ;)

J'ai un souci auquel je n'arrive pas à resoudre. :mad:
Suite à un filtre en ligne 2 sur le critere "non vide" en colonne "BS" dans ma feuille "ORYS", je voudrais selectionner une à une les lignes visibles suite à un filtre (dans mon cas de la colonne BF à BQ) et les coller en transposition sur une feuille qui s'appelle "Winshuttle" dans la colonne I en ligne 2.
Puis pareil pour la deuxieme ligne visible juste en dessous des données transposées de la ligne 1 et ainsi de suite jusqu'à la derniere ligne visible.:p

J'espere que j'ai été claire..

Si quelqu'un aurait une idée dessus, je suis preneuse :eek:

Merci à tous !

Malka
 
Dernière édition:

Tibo

XLDnaute Barbatruc
Re : PB Copier et transposer UNE à UNE les lignes visibles apres un filtre

Bonsoir,

Le problème n'est peut-être pas facile à traiter.

Mais pour nous aider à t'aider, il serait intéressant de joindre un petit bout de fichier exemple dans lequel tu nous mettrais manuellement le résultat attendu.

A te (re)lire avec ce fichier

@+
 

Malka

XLDnaute Occasionnel
Re : PB Copier et transposer UNE à UNE les lignes visibles apres un filtre

Bonsoir Tibo,

Tu as raison c'est un peu compliqué à expliquer.
J'ai mis un extrait de mon fichier excel avec les deux onglets "ORYS" et "Winshuttle"
Les données viennent de l'onglet "ORYS" qui sont envoyées dans l'onglet "Winshuttle" --> le resultat attendu :eek:
Dans mon fichier j'ai mis seulement 2 lignes.... en réalité j'en aurai 3000 sur le fichier final. :(

Si vous pouvez me donner un coup de main ca serait sympa :rolleyes:

Merci

Malka
 

Pièces jointes

  • PbMalka.xls
    40 KB · Affichages: 60

Pierrot93

XLDnaute Barbatruc
Re : PB Copier et transposer UNE à UNE les lignes visibles apres un filtre

Bonjour Malka, Tibo:)

regarde peut être ceci, en espérant que cela puisse t'aider :
Code:
Option Explicit
Sub test()
Dim c As Range
With Sheets("ORYS")
    For Each c In .Range("BF3", .Range("BF65536").End(xlUp)).SpecialCells(xlCellTypeVisible)
        c.Resize(, 12).Copy
        With Sheets("Winshuttle")
            .Range("I65536").End(xlUp)(2).PasteSpecial xlPasteAll, Transpose:=True
            c.Offset(0, -53).Copy .Range(.Range("G65536").End(xlUp)(2), .Range("G" & .Range("I65536").End(xlUp).Row))
            c.Offset(0, -55).Copy .Range(.Range("H65536").End(xlUp)(2), .Range("H" & .Range("I65536").End(xlUp).Row))
        End With
    Next c
End With
End Sub

bonne journée
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 332
Messages
2 087 361
Membres
103 530
dernier inscrit
Chess01