Enregistrement d'un onglet et la macro avec

Bonjour à tous et toutes,

je pratique régulièrement VBA pour mon travail, seulement là, je ne trouve pas la réponse dans les forums...

J'expose la chose:

J'ai un "classeur 1" qui contient plusieurs onglets dont "onglet 7". Ce dernier contient un tableau vierge qui doit, par une macro, être complété avec des infos diverses et être enregistré seul dans un nouveau classeur avec un nouveau nom. Cet onglet peut être complété, enregistré, effacé et rebelote plusieurs fois (le nom du nouveau classeur est à chaque fois différent évidemment). Jusque là, tout va bien, ça fonctionne.

Problème, dans cet "onglet 7" du "classeur 1", j'ai un bouton de macro que je veux également transférer sur chaque nouveaux classeurs et je veux que la macro liée fonctionne pour l'onglet dans lequel il est, hors...

Quand j'ouvre l'un des nouveaux classeurs et que je regarde l'affectation du bouton, il renvoie au "classeur 1" d'origine.

Donc, quand j'appuie sur le bouton de mon onglet seul et enregistré à part, il ouvre mon "classeur 1" et merdoit généreusement.

Voici le bout de macro qui enregistre sur mon OneDrive après avoir complété le tableau?

Merci pour votre aide

'Enregistrement sur le réseau
    NomFichier = "C:\Users\xxxx\OneDrive - yyyy\zzzz\" & Datejour & " zzzz .xlsm"
    FichierExiste = Dir(NomFichier)
        If strFichierExiste = "" Then
            With ActiveWorkbook
            .SaveAs Filename:="C:\Users\xxxx\OneDrive - yyyy\zzzz\" & Datejour & " zzzz .xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
            .Close SaveChanges:=False
            End With
        Else
            MsgBox " le fichier " & Datejour & " zzzz .xlsx existe déjà ou il y a un problème d'enregistrement"
            ActiveWorkbook.Close SaveChanges:=False
        End If

Bonjour,

si votre code du bouton supporte le fait de ne pas se trouvait dans un module standard, alors couper le code du module standard et copiez le sur la page de code de la feuille.

en admettant la procédure LouReeD qui affiche le nom se trouvant en A1.

En ajoutant le code d'initialisation de macro à l'activation de la feuille, alors le bouton "BTN" se voit affecté la bonne macro.

Private Sub Worksheet_Activate()
    ActiveSheet.Shapes("BTN").OnAction = Activesheet.Name&".LouReeD"
End Sub
Sub LouReeD()
    MsgBox Range("A1")
End Sub

Le fichier :

@bientôt

LouReeD

Rechercher des sujets similaires à "enregistrement onglet macro"