TestSugar1
XLDnaute Nouveau
Bonjour,
J'ai à peu près la même problématique que dans le thread https://www.excel-downloads.com/threads/recuperer-le-nom-dun-classeur-dans-une-macro.76971/.
J'aimerais copier les données d'un fichier Adresses erronées 200902.xls vers un fichier Adresses erronées_macro.xls, dans lequel il y a des macros, et un bouton.
J'ai essayé le code suivant :
Le problème c'est que ça me copie bien les données du fichier source vers le fichier cible, mais dans un nouvel onglet (qui s'appelle Email).
Ce que je voudrais, ce serait copier mes données dans l'onglet existant, dans lequel j'ai le bouton de lancement de la macro.
Je suppose que c'est le Copy After qu'il faut modifier, mais quelle est la bonne syntaxe ?
Autre chose : est-il possible de ne pas mettre le nom de mon fichier cible (= fichier dans lequel se trouve cette macro = Adresses erronées_macro.xls) en dur dans le code ? Quelque chose comme "Fichier courant" ?
Et comment est-ce que je peux fermer automatiquement le fichier source une fois que j'ai fini de copier mes données ?
Merci
J'ai à peu près la même problématique que dans le thread https://www.excel-downloads.com/threads/recuperer-le-nom-dun-classeur-dans-une-macro.76971/.
J'aimerais copier les données d'un fichier Adresses erronées 200902.xls vers un fichier Adresses erronées_macro.xls, dans lequel il y a des macros, et un bouton.
J'ai essayé le code suivant :
Code:
Sub Copie_données()
' Copie des données depuis le fichier Adresses erronées 200902.xls
Dim Nom As String, wb As Workbook
Nom = Application.GetOpenFilename(filefilter:="Fichier Excel (*.xls),*.xls")
If Nom = "" Then
MsgBox "Aucun Fichier Sélectionné", vbOKOnly + vbCritical, "Intégration non réalisée"
Exit Sub
Else
Workbooks.Open Filename:=Nom
End If
Set wb = ActiveWorkbook
wb.Activate 'mais il est déjà activé, ensuite tu utilises la variable wb comme un objet "classeur"
Sheets("Email").Select
Sheets("Email").Copy After:=Workbooks("Adresses erronées_macro.xls").Sheets("Feuil1")
Sheets("Feuil1").Activate
'UserForm1.Show
End Sub
Le problème c'est que ça me copie bien les données du fichier source vers le fichier cible, mais dans un nouvel onglet (qui s'appelle Email).
Ce que je voudrais, ce serait copier mes données dans l'onglet existant, dans lequel j'ai le bouton de lancement de la macro.
Je suppose que c'est le Copy After qu'il faut modifier, mais quelle est la bonne syntaxe ?
Autre chose : est-il possible de ne pas mettre le nom de mon fichier cible (= fichier dans lequel se trouve cette macro = Adresses erronées_macro.xls) en dur dans le code ? Quelque chose comme "Fichier courant" ?
Et comment est-ce que je peux fermer automatiquement le fichier source une fois que j'ai fini de copier mes données ?
Merci