Posez votre question Signaler

[VBA] Appel d'une macro dans une autre macro [Résolu]

IBegin 7Messages postés 1 juillet 2005Date d'inscription - Dernière réponse le 10 févr. 2009 à 12:00
Bonjour,
Soit une macro nommée "Défaut" qui copie un tableau vierge et qui le colle à la place d'un tableau qui peut ne pas être vierge si l'utilisateur a fait des modifications (en gros, ça permet de remettre à zéro).
Soit une autre macro qui, une fois que l'utilisateur a fini de remplir les données dans le tableau, les enregistre et les sauvegarde sur une autre feuille.
J'aimerais bien que la deuxième macro fasse appel à la première (Defaut) après avoir enregistré l'info, pour remettre à neuf le tableau de saisie.
Merci de vos conseils,
++
Lire la suite 

[VBA] Appel d'une macro dans une autre macro »

3 réponses
Réponse
+14
moins plus
Bonjour,

Sub Defaut()
    MsgBox "Macro Defaut"
    DoEvents
    ' ...
End Sub
'

Sub Macro2()
    Call Defaut
    DoEvents
    ' ...
End Sub
'


n.b. si la macro Defaut est dans Module1 et que la macro 2 est dans le module 2

Sub Macro2_Mod2()
    Call Module1.Defaut
    DoEvents
    ' ...
End Sub
'


Lupin
Ajouter un commentaire
Réponse
+2
moins plus
Merci beaucoup, ça fait un code plus propre que de tout recopier dans la macro 2
Ajouter un commentaire
Réponse
-3
moins plus
Salut !!! j'ai une macro pour détecter les doublons et les colorier, quand on l'éxecute on obtient un inputbox dans lequel on définit la plage concernée. Mon problème est que cette plage est en fait 3 colonnes dans 3 feuilles différentes. Comment définir ces plages pour colorier les doublons sur les différents onglets ? voici le code :

Sub MarqueLesDoublons()
Dim Plage As Range, i&, Cell As Range, Rng As Range

On Error Resume Next
Set Plage = Application.InputBox("worksheets", Type:=8)
If IsEmpty(Plage) Then Exit Sub

Application.ScreenUpdating = False

For Each Cell In Plage
For i = 1 To Plage.Count
Set Rng = Cell.Offset(i)
If Rng <> "" And Rng = Cell Then
Cell.Interior.ColorIndex = 3
Rng.Interior.ColorIndex = 3
Exit For
End If
Next i
Next Cell

End Sub
Ajouter un commentaire
Ce document intitulé « [VBA] Appel d'une macro dans une autre macro » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?