Bonjour à tous,
J'ai effectué pas mal de recherche pour créer ma macro (n'étant pas un pro du VBA, mais un autodidacte massacreur ), mais je me retrouve avec un résultat peu probant.
Le contexte : J'ai un classeur Excel avec plusieurs feuilles dont je voudrais "exporter" le contenu vers un autre classeur "cible" et ce dernier n'a pas un emplacement fixe dans windows (contexte professionnel, les nominations de répertoires dépendent du nom de l'utilisateur etc.).
Donc voici une solution pour laquelle j'ai opté :
Le code se trouve dans le fichier contenant les informations à copier. J'ai essayé plusieurs solutions mais je me retrouve soit avec uniquement la plage à copier sélectionnée dans Excel ou alors le collage ne s'oppert pas ... (et j'ai essayé sans les "" dans windows() et sans le ".xls" le résultat est identique).
Je tourne un peu en rond et je pense que c'est la partie sur la sélection des fichiers pour le copier puis le coller qui foire ...
Pour le moment le code n'est écrit que pour 1 seul onglet, mais il y en a 6 autres derrières à gérer en plus.
Je vous remercie d'avance pour votre aide.
J'ai effectué pas mal de recherche pour créer ma macro (n'étant pas un pro du VBA, mais un autodidacte massacreur ), mais je me retrouve avec un résultat peu probant.
Le contexte : J'ai un classeur Excel avec plusieurs feuilles dont je voudrais "exporter" le contenu vers un autre classeur "cible" et ce dernier n'a pas un emplacement fixe dans windows (contexte professionnel, les nominations de répertoires dépendent du nom de l'utilisateur etc.).
Donc voici une solution pour laquelle j'ai opté :
Code:
Sub CommandButton3_Click()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Dim Fichier As String, Repdefaut As String
Dim Fich1 As String, Fich2 As String
Fich1 = ThisWorkbook.Name
RepPardefaut = "C:"
ChDrive "D:"
ChDir "D:"
Fichier = Application.GetOpenFilename("Fichiers Excel (*.xls), *.xls", , "Sélectionner un fichier.")
If Answer = vbCancel Then Exit Sub
If Fichier <> "" Then
Workbooks.Open Fichier
With ActiveWorkbook
Fich2 = ActiveWorkbook.Name
End With
With Windows("Fich1.xls").Select
ActiveWorkbook.Sheets("NomOnglet").Select
Cells.Select
Selection.Copy
End With
With Windows("Fich2.xls").Select
ActiveWorkbook.Sheets("NomOnglet").Select
Cells.Select
ActiveSheet.Paste
End With
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Le code se trouve dans le fichier contenant les informations à copier. J'ai essayé plusieurs solutions mais je me retrouve soit avec uniquement la plage à copier sélectionnée dans Excel ou alors le collage ne s'oppert pas ... (et j'ai essayé sans les "" dans windows() et sans le ".xls" le résultat est identique).
Je tourne un peu en rond et je pense que c'est la partie sur la sélection des fichiers pour le copier puis le coller qui foire ...
Pour le moment le code n'est écrit que pour 1 seul onglet, mais il y en a 6 autres derrières à gérer en plus.
Je vous remercie d'avance pour votre aide.