Macro copie feuille dans classeur

Bonjour,

est-ce que quelqu'un saurait comment écrire une macro qui copie la feuille active d'un classeur qui s'appelle "interrogation" vers un classeur "validation" qui ce trouve sur mon bureau? De plus j'aimerai que la copie se place en dernier dans mon classeur "validation".

Merci

Bonjour

oui c'est possible mais il manque des informations.

le fichier de destination sera-t-il déjà ouvert a l’exécution de la macro ??

le nom du fichier exact est necessaire !!

est-il sur que le nom de la feuille copié n'existe déjà pas dans le fichier de destination. si le nomp existe déjà que faire *???

a te relire

fred

merci pour ta rapidité.

alors voilà:

*le fichier de destination est fermé

*fichier destination: validation.xlsx placé sur le bureau

*chaque feuille copiée portera un nom différent

voici une proposition

fred

Option Explicit
Sub copie_onglet_actif()
Dim chemin As String
Dim Fdest As String
Dim Fsource As String
'mise en mémoire du nom du fichier actif
Fsource = ActiveWorkbook.Name

'chemin a adapter
chemin = "C:\Users\fred\Desktop\"
'nom du fichier destination
Fdest = "validation.xlsx"
'verification de l'existence du fichier de destination
If Dir(chemin & Fdest) <> "" Then
    'ouverture du fichier destination
    Workbooks.Open (chemin & Fdest)
    'copie de l'onglet
    Workbooks(Fsource).ActiveSheet.Copy after:=ActiveWorkbook.Sheets(Sheets.Count)
    'fermeture du fichier destination avec enregistremeent
    ActiveWorkbook.Close True
End If
End Sub
19copie.xlsm (11.58 Ko)

salut,

j'ai adapter la macro mais rien ne se produit

C'est a dire ????

si tu ouvre le fichier joint et que tu modifie le chemin. normalement l'onglet actif (qui est vide) mais qui s'appel interrogation est copier dans le fichier de destination ...

si le fichier de destination n'existe pas rien ne se passe......

fred

edit pour etre sur j'ai mis un message qui indique une erreur si le fichier de destination n'est pas trouver

Option Explicit
Sub copie_onglet_actif()
Dim chemin As String
Dim Fdest As String
Dim Fsource As String
'mise en mémoire du nom du fichier actif
Fsource = ActiveWorkbook.Name

'chemin a adapter
chemin = "C:\Users\fred\Desktop\"
'nom du fichier destination
Fdest = "validation.xlsx"
'verification de l'existence du fichier de destination
If Dir(chemin & Fdest) <> "" Then
    'ouverture du fichier destination
    Workbooks.Open (chemin & Fdest)
    'copie de l'onglet
    Workbooks(Fsource).ActiveSheet.Copy after:=ActiveWorkbook.Sheets(Sheets.Count)
    'fermeture du fichier destination avec enregistremeent
    ActiveWorkbook.Close True
Else
MsgBox ("fichier de destination non trouvé")
End If

End Sub

Salut,

je ne comprend pas pourquoi , le message "fichier de destination non trouvé" s'affiche quand j’exécute la macro.

pourtant le fichier existe et j'ai mis le bon chemin dans la macro

BAh visiblement non....

car chez moi cela marche sans soucis.....

remet ici la ligne contenant le chemin que tu as modifié pour voir .....

fred

salut

voici le chemin: chemin = "C:\Users\Antoine\Desktop"

le fichier existe bien sur le bureau pourtant

Et bah c'est tout bête.....

il suffit d'observer ma ligne et la tienne :

chemin = "C:\Users\fred\Desktop\"
chemin = "C:\Users\Antoine\Desktop"

c'est pas le jeu des 7 différences mais de LA seule différence ....................... le "\" a la fin du chemin.....

fred

merci en effet ça fonction beaucoup mieux

bon fin de week-end

Rechercher des sujets similaires à "macro copie feuille classeur"