Copier plusieurs feuilles d'un classeur fermé dans un classeur

donnees.xlsx (113,5 Ko)
traitement.xlsm (91,7 Ko)
Bonjour,

Je souhaiterais importer plusieurs pages d’un même fichier xlsx (donnees) vers un autre fichier (traitement) avec un emplacement specifiques. J’ai renommé les onglets avec le même nom.

J’ai testé deux solutions qui ne fonctionnent pas à savoir :

  • Workbooks (« traitement.xlsm »).worksheets (« pdg »).range («a1:j41»).value=workbooks (« donnees »).worksheets(« feuil1 »).range(« A1 :J41 »)
  • Solution 2 dans le fichier.

Pouvez vous m’aider à solutionner mon problème ?

En espérant que mes propos soient assez clairs.

Par avance, merci

Krokro

Bonsoir,
Voici ce que j’ai fait. C’est fait surmesure.

Sub FichierTexte()
    Dim sFichier As String
    sFichier = Application.GetOpenFilename("Fichiers Texte (*.xlsx),*.xlsx", , "Choisissez le fichier à traiter")
    If sFichier = "" Then
        MsgBox "Aucun fichier choisi", vbOKOnly + vbCritical, "Traitement annulé"
        Exit Sub
        Else
Workbooks.Open sFichier
With Sheets(Array(Sheets(2).Name, Sheets(3).Name, Sheets(4).Name, Sheets(5).Name))
        .Select
        .Copy Before:=Workbooks("traitement.xlsm").Sheets(2)
End With
Windows("traitement.xlsm").Activate
Application.DisplayAlerts = False
Sheets(Array(Sheets(6).Name, Sheets(7).Name, Sheets(8).Name, Sheets(9).Name)).Delete
End If
End Sub

La feuille à copier sur le fichier « données » doit commencer par la feuille 2
dont : feuille2, feuille3, feuille4 et feuille5
Les feuilles copiées vont se mettre après la 1er feuille.
Elles vont avoir les mêmes positions : feuille2, feuille3, feuille4 et feuille5
Les feuilles en vert que vous avez mis vont être supprimer. feuille6, feuille7, feuille8 et feuille9
Un fichier d’exemple :
traitement.xlsm (102,0 Ko)

Cordialement
Will-Fread

Bonsoir,

Merci du temps consacré à mon problème ca fonctionne mais ca ne fonctionne pas avec le reste de mon fichier.

Les onglets de données sont retravaillés dans d’autres onglets que je n’avais pas donné.

Est -il possible d’importer les onglets sur les onglets rouges et verts déjà existants?
Je mets en pj, les fichiers dans leur globalité.

Merci !

traitement global.xlsm (1,4 Mo)
vbv-report.xlsx (173,7 Ko)

1 « J'aime »

Bonjour,
J’espère que j’ai bien compris.
traitement global.xlsm (1,4 Mo)

Sub FichierTexte()
Dim sFichier As String, Source As String, Traitement As String
Dim i As Integer
Traitement = ActiveWorkbook.Name
sFichier = Application.GetOpenFilename("Fichiers Texte (*.xlsx),*.xlsx", , "Choisissez le fichier à traiter")
If sFichier = "" Then
MsgBox "Aucun fichier choisi", vbOKOnly + vbCritical, "Traitement annulé"
Exit Sub
Else
Workbooks.Open sFichier
Source = ActiveWorkbook.Name
Application.ScreenUpdating = False
For i = 2 To 9
Sheets(i).Select
Cells.Copy
Windows(Traitement).Activate
Sheets(i).Select
Cells.PasteSpecial (xlPasteAll)
Application.CutCopyMode = False
Windows(Source).Activate
Next
Application.ScreenUpdating = True
Windows(Traitement).Activate
Windows(Source).Close
Sheets(1).Select
End If
End Sub

Bien cordialement
Will-Fread

Bonjour,
Ce tour-ci c’est parfait.
Merci, merci je n’y serais jamais arrivée toute seule.

Bonne journée,

1 « J'aime »

Re,
ce fut un plaisir, cela m’a appris des choses.
Il faut marquer Solution pour clôturer :grin: :grin:
Will-Fread

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.