VBA enregistre une feuil precise dans un autre classeur

Bonsoir tous le monde,

j'ai beau chercher je trouve mais je n'y arrive pas du tout

Alors voici ma demande d'aide :

J'ai un classeur qui se nomme classeurM et qui se trouve "g:\Dropbox

Dans ce classeur j'ai une feuille parmis bcp d'autres qui se nomme Commission.

J'ai un autre classeur qui se nomme classeurF qui lui se trouve dans "g:\Dropbox\F

et j'ai la même feuille qui se nomme aussi Commission.

En gros je souhaite qu'à chaque fois que je modifie la feuil Commission du classeur M, je n'ai qu'à cliquer sur un bouton contenant une macro pour qu'elle remplace la feuil du classeur F. (il me faudrait uniquement la macro) le reste je sais faire.)

Quelqu'un pourrais m'aider svp?

En vous remerciant

Bonjour pouns94,

je propose de faire la manip à la fermeture de classeurM,

à cet événement Workbook_BeforeClose,, il faudrait ouvrir le "g:\Dropbox\F\classeurF, supprimer l'onglet commision, ajouter le nouvel onglet commision, enregistrer et fermer g:\Dropbox\F\classeurF,

c'est bien ce que vous voulez ?

Bonsoir,

Oui c'est exactement cela que je veux.

oups, je viens de voir appui sur un bouton,

associer cette macro au bouton,

Sub transfert()
Dim wk1 As Workbook, wk2 As Workbook, rep As String
Application.DisplayAlerts = False
Application.ScreenUpdating = False
    Set wk1 = ThisWorkbook
    rep = "g:\Dropbox\F\"
    Set wk2 = Workbooks("Data.xlsm")
    Workbooks.Open rep & wk2
    wk2.Sheets("commision").Delete
    wk1.Sheets("commision").Copy After:=wk2.Sheets(Sheets.Count)
    wk2.Save
    wk2.Close
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

edit: correction sur macro

MErci pour cette réponse,

a quoi correspond ceci

Workbooks("Data.xlsm"

a quoi correspond ceci: Workbooks("Data.xlsm")

au classeur F, pour l'exemple j'ai utilisé un de mes classeurs

Re-bonsoir,

alors voici le code adapté à mes classeurs.

J'ai cette erreur lorsque je clique sur le bouton.

erreur d'execution 9

l'indice n'appartient pas à la selection

et j'ai cette ligne surligné en jaune Set wk2 = Workbooks("JNN SECURITE FABIO.xlsm")

Sub transfert()
Dim wk1 As Workbook, wk2 As Workbook, rep As String
Application.DisplayAlerts = False
Application.ScreenUpdating = False
    Set wk1 = ThisWorkbook
    rep = "G:\Dropbox\FABIO\"
    Set wk2 = Workbooks("JNN SECURITE FABIO.xlsm")
    Workbooks.Open rep & wk2
    wk2.Sheets("Analyse commission sur vente").Delete
    wk1.Sheets("Analyse commission sur vente").Copy After:=wk2.Sheets(Sheets.Count)
    wk2.Save
    wk2.Close
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

erreur d'execution 9

l'indice n'appartient pas à la selection

et j'ai cette ligne surligné en jaune Set wk2 = Workbooks("JNN SECURITE FABIO.xlsm")

est ce que le fichier "JNN SECURITE FABIO.xlsm est ouvert ?

Non il n'est pas ouvert.

il faudrait modifier comme ça,

Workbooks.Open rep & "JNN SECURITE FABIO.xlsm"
Set wk2 = Workbooks("JNN SECURITE FABIO.xlsm")  

Merci,

Je les place où ces deux lignes?

comme ça,

Sub transfert()
Dim wk1 As Workbook, wk2 As Workbook, rep As String
Application.DisplayAlerts = False
Application.ScreenUpdating = False
    Set wk1 = ThisWorkbook
    rep = "G:\Dropbox\FABIO\"
    Workbooks.Open rep & "JNN SECURITE FABIO.xlsm"
    Set wk2 = Workbooks("JNN SECURITE FABIO.xlsm")
    wk2.Sheets("Analyse commission sur vente").Delete
    wk1.Sheets("Analyse commission sur vente").Copy After:=wk2.Sheets(Sheets.Count)
    wk2.Save
    wk2.Close
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Set wk2 = Nothing
Set wk1 = Nothing
End Sub

bonsoir tous le monde, bonsoir SabV

Au top merciiiii beaucoup pour ce code.

je passe en resolu.

encore merci

pouns94, Merci pour ce retour, au plaisir!

Rechercher des sujets similaires à "vba enregistre feuil precise classeur"