Merci du retour. J'ai reuissi à le coder de manière différente.
Cependant, j'arrive à une annomalie que je ne comprend pas.
A la ligne Workbooks.Open Filename:=CheminSource & NomSource, il bloque
code:
Sub Transfert2()
' Transfert Macro OBjet
' Copie de [DATA3] de source.xlsx vers [ORG] puis [TRAV]
Dim NomSource As String
Dim NomTravail As String
Dim OngletSource As String
Dim OngletDesti As String
Dim CheminSource As String
Dim Fichier As Variant
Dim nom As String
Dim longueur As Integer
Dim Taille_chaine As Integer
Dim Position As Integer
'Affiche la boîte de dialogue "Ouvrir"
Fichier = Application.GetOpenFilename("Tous les fichiers (*.*),*.*" )
'On sort si aucun fichier n'a été sélectionné ou si l'utilisateur
'a cliqué sur le bouton "Annuler", ou sur la croix de fermeture.
If Fichier = False Then Exit Sub
longueur = Len(Fichier)
Position = longueur - InStrRev(Fichier, "\", -1, 1)
NomSource = Right(Fichier, Position)
CheminSource = Fichier
NomTravail = "4-6 sept.xlsm"
OngletSource = "Data3"
OngletDesti = "Org"
'Ouverture classeur source.xlsx
'ChDir "C:\Users\Formateur\Desktop"
Workbooks.Open Filename:=CheminSource & NomSource
'Copy des colonnes Onglet "Data3" de source
Workbooks(NomSource).Sheets(OngletSource).Columns("A:C" ).Copy
'On colle dans source.xls [ORG]
Workbooks(NomTravail).Sheets(OngletDesti).Columns("A:A" ).PasteSpecial
'Fermeture de Source
Application.CutCopyMode = False 'Echap (pour désactiver la copie)
Workbooks(NomSource).Close 'On ferme
'On copie de ORG => Trav
OngletSource = "Org"
OngletDesti = "Trav"
Workbooks(NomTravail).Sheets(OngletSource).Range("A1" ).CurrentRegion.Copy 'CTRL *
'On colle dans Trav
Workbooks(NomTravail).Sheets(OngletDesti).Range("A1" ).PasteSpecial
'Deselction copie
Application.CutCopyMode = False
End Sub