copier coller colonne dans ordre différent sur autre feuille

  • Initiateur de la discussion Initiateur de la discussion phil69
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

phil69

XLDnaute Occasionnel
Bonsoir à toutes et tous

j'ai un classeur que j'alimente depuis un site dont les informations ne m’intéressent pas toutes et pas dans l'ordre que je souhaite. Je voudrais récupérer ces info et les mettre dans une autre feuille(2) avec les colonnes dans un ordre différent.
doit je faire une macro copier de chaque colonne (à savoir que les colonne peuvent faire 2 lignes comme 200) et les coller sur ma nouvelle feuille2??? avec quelle code, ou sélectionner les contenus des colonne dans un ordre précis pour les coller dans ma nouvelle feuille2???? . de plus le contenu de la feuille d’extraction est supprimé pour être de nouveau alimenté par le site et les info devront se coller sur ma feuille2 à la suite
merci
phil69
 

Pièces jointes

Re : copier coller colonne dans ordre différent sur autre feuille

Bonjour

un code volontairement rustique, qui vous permet de modifier facilement l'ordre des colonnes . Fonctionne si en feuille 1 la ligne de titre est toujours en ligne 2.

Code:
Sub Transfert_phil69()
 Dim H, F, G, D, K, L, M, I
 Dim F1 As Worksheet, F2 As Worksheet, DerLig As Long, LigDep As Long

 Set F1 = Worksheets("Feuil1")
 Set F2 = Worksheets("Feuil2")
    
 DerLig = F1.Range("A" & Rows.Count).End(xlUp).Row

 With F1
 H = .Range("H3:H" & DerLig)   ' "mémorise" la colonne H
 F = .Range("F3:F" & DerLig)   ' "mémorise" la colonne F
 G = .Range("G3:G" & DerLig)   '  ...
 D = .Range("D3:H" & DerLig)
 K = .Range("K3:K" & DerLig)
 L = .Range("L3:L" & DerLig)
 M = .Range("M3:M" & DerLig)
 I = .Range("I3:I" & DerLig)
 End With

 LigDep = F2.Range("A" & Rows.Count).End(xlUp).Row + 1
 With F2
 .Range("A" & LigDep).Resize(UBound(H)) = H  ' copie le contenu de la colonne H en A
 .Range("B" & LigDep).Resize(UBound(F)) = F   '...
 .Range("C" & LigDep).Resize(UBound(G)) = G
 .Range("D" & LigDep).Resize(UBound(D)) = D
 .Range("E" & LigDep).Resize(UBound(K)) = K
 .Range("F" & LigDep).Resize(UBound(L)) = L
 .Range("G" & LigDep).Resize(UBound(M)) = M
 .Range("H" & LigDep).Resize(UBound(I)) = I
 End With

 F1.Cells.ClearContents

End Sub

A+
 
Re : copier coller colonne dans ordre différent sur autre feuille

Bonjour, phil69, Paf 🙂, le Forum,

... Fonctionne si en feuille 1 la ligne de titre est toujours en ligne 2...

Il en est de même avec le code ci-après :

Code:
Option Explicit
Sub Informations_transférer()
    Dim où As Object
    Set où = Sheets("Feuil2")
    With Application: .ScreenUpdating = 0: .Calculation = xlCalculationManual: End With
    With Sheets("Feuil1")
        .Columns(4).SpecialCells(xlCellTypeConstants, 23).Offset(1, 0).Copy Destination:=où.Range("d" & Rows.Count).End(xlUp)(2)
        .Columns(6).SpecialCells(xlCellTypeConstants, 23).Offset(1, 0).Copy Destination:=où.Range("b" & Rows.Count).End(xlUp)(2)
        .Columns(7).SpecialCells(xlCellTypeConstants, 23).Offset(1, 0).Copy Destination:=où.Range("c" & Rows.Count).End(xlUp)(2)
        .Columns(8).SpecialCells(xlCellTypeConstants, 23).Offset(1, 0).Copy Destination:=où.Range("a" & Rows.Count).End(xlUp)(2)
        .Columns(9).SpecialCells(xlCellTypeConstants, 23).Offset(1, 0).Copy Destination:=où.Range("h" & Rows.Count).End(xlUp)(2)
        .Columns(11).SpecialCells(xlCellTypeConstants, 23).Offset(1, 0).Copy Destination:=où.Range("e" & Rows.Count).End(xlUp)(2)
        .Columns(12).SpecialCells(xlCellTypeConstants, 23).Offset(1, 0).Copy Destination:=où.Range("f" & Rows.Count).End(xlUp)(2)
        .Columns(13).SpecialCells(xlCellTypeConstants, 23).Offset(1, 0).Copy Destination:=où.Range("g" & Rows.Count).End(xlUp)(2)
    End With
    With Application: .ScreenUpdating = -1: .Calculation = xlCalculationAutomatic: End With
End Sub

A bientôt 🙂
 
Re : copier coller colonne dans ordre différent sur autre feuille

Re tous, bonjour chris

néophyte en filtre avancé, j'ai tenté, mais je bute sur un point :

est-il possible de rajouter le résultat du filtre à la suite de données existantes issues du même filtre ?

Bonne journée
 
Re : copier coller colonne dans ordre différent sur autre feuille

Re

Non les filtres avancés sont "one shot" : je n'avais pas lu "à la suite" 😱...

Tester néanmoins le temps entre les interversions et un copier coller de l’extrait à la suite des autres (les filtres avancés sont en géréral très rapides).
 
Re : copier coller colonne dans ordre différent sur autre feuille

Bonsoir à tous,
Vois ceci :
VB:
Sub Recopie()
Dim a
    With Sheets("Feuil1").Range("A2").CurrentRegion
        a = Application.Index(.Value, Evaluate("row(1:" & _
                                               .Rows.Count & ")"), Array(8, 6, 7, 4, 11, 12, 13, 9))
    End With
    With Sheets("Feuil2").Range("A2").Resize(UBound(a, 1), UBound(a, 2))
        .Value = a
    End With
End Sub
klin89
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
762
Retour