Importer certaines colonnes à partir des en -têtes

Bonjour,

J'essaie de faire un copier coller de certaines colonne de ma feuille "synthèse des factures avec TVA" sur ma "feuille consolidations des factures" mais ça ne fonctionne pas. Quelqu'un pourrait m'aider svp?

[code]Option Explicit

Sub ImporterColonnes()

Dim Fichier, WbkCopy As Workbook, WbkColle As Workbook

Dim Colonnes(), Col As Integer, Resultat As Variant

Set WbkColle = ThisWorkbook

Colonnes = Array("numéro de pièce", "référence", "réglé")

Workbooks("classeurtest.xlsm").Activate

Sheets("synthèse des factures avec TVA").Select

If sheets <> False Then

Set WbkCopy = Workbooks.Open(Fichier)

With WbkCopy.Sheets("synthèse des factures sans tva")

For Col = 1 To .Cells(1, .Cells.Columns.Count).End(xlToLeft).Column

Resultat = Application.Match(.Cells(1, Col), Colonnes, 0)

If Not IsError(Resultat) Then

.Columns(Col).Copy WbkColle.Sheets("consolidations des factures").Cells(1, Cells.Columns.Count).End(xlToLeft).Offset(0, 1)

End If

Next Col

End With

WbkCopy.Close

End If

Set WbkCopy = Nothing

Set WbkColle = Nothing

End Sub [code]

bonjour,

merci de mettre ton fichier ou un fichier exemple représentatif.

merci pour ton retrour.

Voici le fichier

12classeurtest2.xlsm (370.14 Ko)

Bonsoir,

Une façon simple:

-Copier les entêtes dans le nouveau classeur en A1:F1 par exemple

Sub Extrait()
    Workbooks("Classeurtest2.xlsm").Sheets( _
        "synthèse des factures sans TVA").Range("A2:AG10000").AdvancedFilter Action:= _
        xlFilterCopy, CopyToRange:=Range("A1:F1"), Unique:=False
End Sub

Boisgontier

Merci pour votre réponse,

je veux copier des colonnes spécifiques pas toutes les colonnes.

Il ne faut mettre que les les titres des colonnes que vous voulez récupérer.

Boisgontier

Désolé mais je n'ai pas compris ou alors je me suis peut être mal exprimée

Je veux que les données soient exportées sur le même classeur mais dans l'onglet consolidations des factures .

Pour cela je veux certaines colonnes qui se trouvent dans l'onglet synthèses des factures sans tva. sachant que cette synthèse globale se fait une fois par mois à partir de différents classeurs.

je suis novice en vba et le code ci-dessous est un code que j'ai essayé d'adapté pour lancer cette requête

  Option Explicit

Sub ImporterColonnes()
Dim Fichier, WbkCopy As Workbook, WbkColle As Workbook
Dim Colonnes(), Col As Integer, Resultat As Variant

  Set WbkColle = ThisWorkbook
  Colonnes = Array("numéro de pièce", "référence", "réglé")

    Workbooks("classeurtest.xlsm").Activate  
    Sheets("synthèse des factures avec TVA").Select
  If sheets <> False Then
    Set WbkCopy = Workbooks.Open(Fichier)
    With WbkCopy.Sheets("synthèse des factures sans tva") 
      For Col = 1 To .Cells(1, .Cells.Columns.Count).End(xlToLeft).Column
     Resultat = Application.Match(.Cells(1, Col), Colonnes, 0)
        If Not IsError(Resultat) Then
       .Columns(Col).Copy WbkColle.Sheets("consolidations des factures").Cells(1, Cells.Columns.Count).End(xlToLeft).Offset(0, 1)
        End If
      Next Col
    End With
    WbkCopy.Close
  End If
Set WbkCopy = Nothing
Set WbkColle = Nothing
End Sub [code]
Rechercher des sujets similaires à "importer certaines colonnes partir tetes"