Declenchement macro ouverture formulaire

Bonjour,

je recherche un code vba pour declencher une macro à l'ouverture d'un formulaire.

DoCmd.RunMacro "NomMacro" 

DoCmd.OpenForm "NomFormulaire" 

Ce code est seul que j'ai trouve mais il est pour access, donc erreur avec excel

Merci

Re-,

Tu as 2 façons,

Soit, en mettant tout court le nom de la macro dans l'Initialize...

Private Sub UserForm_Initialize()
'... Tout le code d'initialisation
MaMacro
End Sub

Sub MaMacro()
MsgBox "on déroule ma macro"
End Sub

Soit en utilisant Call

Private Sub UserForm_Initialize()
'... Tout le code d'initialisation
Call MaMacro
End Sub

Sub MaMacro()
MsgBox "on déroule ma macro"
End Sub

Tiré de l'aide VBA :

Il n’est pas obligatoire d’employer le mot clé Call pour appeler une procédure. Toutefois, si vous utilisez ce mot clé dans le cadre de l’appel d’une procédure nécessitant des arguments, l’élément argumentlist doit être placé entre parenthèses. Dans le cas d’une procédure appelée sans le mot clé Call, vous ne devez pas encadrer argumentlist par des parenthèses. Quelle que soit la syntaxe adoptée pour appeler une fonction intrinsèque ou définie par l’utilisateur, la valeur renvoyée par la fonction est perdue.

Bon Dimanche

une fois de plus MERCI

oups un beug le code fonctionne uniquement si pas de protection d'onglet ? j'ai une protection sur l'onglet du cou il me met erreur de lecture seul.

Merci

Re-,

Ce code fonctionne quoiqu'il arrive....

Maintenant, si dans la macro que tu as appelée, il y a des interactions avec des onglets protégés, c'est autre chose....

Il faut plus voir du côté de ta macro, que de cette instruction.

Bonne soirée

Sub initialise_Fiche_convoi()
'
' initialise_fiche_convoi Macro
'

'
    Range("B4:E17,B19:E32").Select
    Range("B19").Activate
    ActiveWindow.SmallScroll Down:=24
    Range("B4:E17,B19:E32,B34:E47").Select
    Range("B34").Activate
    ActiveWindow.SmallScroll Down:=18
    Range("B4:E17,B19:E32,B34:E47,B49:E49,B51:E64").Select
    Range("B51").Activate
    ActiveWindow.SmallScroll Down:=15
    Range("B4:E17,B19:E32,B34:E47,B49:E49,B51:E64,B66:E79").Select
    Range("B66").Activate
    ActiveWindow.SmallScroll Down:=18
    Range("B4:E17,B19:E32,B34:E47,B49:E49,B51:E64,B66:E79,B81:E96").Select
    Range("B81").Activate
    ActiveWindow.SmallScroll Down:=18
    Range("B4:E17,B19:E32,B34:E47,B49:E49,B51:E64,B66:E79,B81:E96,B98:E111").Select
    Range("B98").Activate
    ActiveWindow.SmallScroll Down:=9
    Range( _
        "B4:E17,B19:E32,B34:E47,B49:E49,B51:E64,B66:E79,B81:E96,B98:E111,B113:E126"). _
        Select
    Range("B113").Activate
    ActiveWindow.SmallScroll Down:=24
    Range( _
        "B4:E17,B19:E32,B34:E47,B49:E49,B51:E64,B66:E79,B81:E96,B98:E111,B113:E126,B128:E143" _
        ).Select
    Range("B128").Activate
    ActiveWindow.SmallScroll Down:=6
    Range( _
        "B4:E17,B19:E32,B34:E47,B49:E49,B51:E64,B66:E79,B81:E96,B98:E111,B113:E126,B128:E143,B145:E158" _
        ).Select
    Range("B145").Activate
    Selection.ClearContents
    Selection.ClearContents
End Sub

Voici la macro que je souhaite faire mettre en place

Merci


Stop,

sa fonctionne erreur de ma part

Merci cousinhuB

Re-,

Comme ceci?

Sub initialise_Fiche_convoi()
' initialise_fiche_convoi Macro

With Sheets("nom_de_l_onglet")
    .Unprotect "le_mot_passe_qui_va_bien"
    .Range("B4:E17,B19:E32,B34:E47,B49:E49,B51:E64,B66:E79,B81:E96,B98:E111,B113:E126,B128:E143,B145:E158").ClearContents
    .Protect "le_mot_passe_qui_va_bien"
End With
End Sub

Bonne soirée

EXCELLENT

Merci vraiment

Rechercher des sujets similaires à "declenchement macro ouverture formulaire"