Rechercher : dans
Par :

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

Dernière réponse le 10 fév 2009 à 12:00:21 IBegin, le 4 jui 2007 à 16:35:22 
 Signaler ce message aux modérateurs

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,

++

Configuration: Windows XP
Internet Explorer 7.0

1

Lupin.A, le 4 jui 2007 à 18:55:08
  • +2

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

Répondre à Lupin.A

2

IBegin, le 6 jui 2007 à 14:47:02

Merci beaucoup, ça fait un code plus propre que de tout recopier dans la macro 2

Répondre à IBegin

3

 lik, le 10 fév 2009 à 12:00:21

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

Répondre à lik
Collection CommentÇaMarche.net