Fusion d'onglets
y
Bonjour à tous,
j'ai passé ma matinée à chercher sur internet une réponse à ma question mais je n'arrive pas à trouver ce que je veux :
- j'ai un fichier Cible, "CIBLE"
- j'ai deux fichiers, "donnés1" et "donnés2" composés chacun de 4 onglets.
Je souhaiterais :
- une formule qui crée un nouvel onglet nommé 'Défaut" dans le fichier "CIBLE"
- puis que les 4 premières colonnes du premier onglet des fichiers "Donnés1" et "Donnés2" soient copiés dans ce nouvel onglet.
Je sais pas si mon message est assez précis, n'hésitez pas à revenir vers moi au cas ou.
Merci,
Alex
Bonjour Alex et le forum
vois si ça te convient (ce n’est pas quelque chose qu'on apprend en une matinée
Sub test()
'https://forum.excel-pratique.com/viewtopic.php?f=2&t=133025
Dim ws As Worksheet
Dim Cible As Workbook
Dim Wbk1 As String, Wbk2 As String
Set Cible = ThisWorkbook
Wbk1 = "C:\Users\Sequoyah\Desktop\Forum\donnés1.xlsx" '====>> Chemin et nom du fichier à adapter
Wbk2 = "C:\Users\Sequoyah\Desktop\Forum\donnés2.xlsx" '====>> Chemin et nom du fichier à adapter
Application.ScreenUpdating = False
'Supprime l'onglet "Défaut" si existe
For Each ws In Cible.Worksheets
If ws.Name = "Défaut" Then
Application.DisplayAlerts = False
Sheets("Défaut").Delete
Application.DisplayAlerts = True
End If
Next
' Ajoute l'onglet nommé "Défaut" à la fin
Sheets.Add(After:=Sheets(Sheets.Count)).Name = "Défaut"
'Ouvre le premier classeur et copie les 4 premières colonnes du premier onglet
Workbooks.Open Wbk1
With ActiveWorkbook
.Worksheets(1).Range("A:D").Copy Destination:=Cible.Worksheets("Défaut").Range("A:D")
.Close
End With
''Ouvre le deuxième classeur et copie les 4 premières colonnes du premier onglet
Workbooks.Open Wbk2
With ActiveWorkbook
.Worksheets(1).Range("A:D").Copy Destination:=Cible.Worksheets("Défaut").Range("E:H")
.Close
End With
Application.ScreenUpdating = True
End SubCordialement.
y
Hello Sequoyah,
Et bien figure toi qu'avec ta (très grande aide) j'ai finalement réussi !
merci beaucoup d'avoir pris le temps de m'aider.
Alex