Inserer une 2eme macro sur une feuille excell
Résolu
wervol
Messages postés
651
Date d'inscription
Statut
Membre
Dernière intervention
-
wervol Messages postés 651 Date d'inscription Statut Membre Dernière intervention -
wervol Messages postés 651 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai une macro avec une procédure trop longue je voudrais donc en mettre une 2ème
voila une ligne de mon code pour exemple
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
If Not Application.Intersect(Target, Range("B4")) Is Nothing Then Range("B48") = Range("B48") + 1
End Sub
je sais qu'il y a la fonction call pour appeler la 2ème macro mais je ne sais pas comment procéder mettre quoi a la fin de mon code sur la 1ère macro, ainsi que le début de la 2ème macro
sa doit être simple mais la je cale
merci pour votre aide
cordialement
j'ai une macro avec une procédure trop longue je voudrais donc en mettre une 2ème
voila une ligne de mon code pour exemple
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
If Not Application.Intersect(Target, Range("B4")) Is Nothing Then Range("B48") = Range("B48") + 1
End Sub
je sais qu'il y a la fonction call pour appeler la 2ème macro mais je ne sais pas comment procéder mettre quoi a la fin de mon code sur la 1ère macro, ainsi que le début de la 2ème macro
sa doit être simple mais la je cale
merci pour votre aide
cordialement
A voir également:
- Inserer une 2eme macro sur une feuille excell
- Insérer une vidéo sur powerpoint - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Insérer une liste déroulante excel - Guide
- Insérer une signature sur word - Guide
- Déplacer une colonne excel - Guide
4 réponses
Bonjour,
Les 2 macros doivent commencer et finir par
Sub nom_macro()
' le code
...
end sub
Le end sub se met automatiquement, colle ton code au milieu
eric
Les 2 macros doivent commencer et finir par
Sub nom_macro()
' le code
...
end sub
Le end sub se met automatiquement, colle ton code au milieu
eric
bonjour eriiic
pour appeler la 2eme macro il n'y a pas de fonction call.? j'ai essayer ce que tu m'as dis mais sa ne fonctionne pas
--
aider dans la mesure des mes connaissances ne me demandez pas l'impossible je saurais pas le faire
pour appeler la 2eme macro il n'y a pas de fonction call.? j'ai essayer ce que tu m'as dis mais sa ne fonctionne pas
--
aider dans la mesure des mes connaissances ne me demandez pas l'impossible je saurais pas le faire
Re,
pour appeler la 2eme macro il n'y a pas de fonction call.?
Si, mais comme tu as dit dans la question que tu le savais je n'en ai pas parlé...
Ca doit ressembler à ça :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("B4")) Is Nothing Then Range("B48") = Range("B48") + 1
'le code qui reste ici
...
call macro1
' encore du code ici si tu veux
...
call macro2
' encore du code ici si tu veux
...
End Sub
sub macro1()
'le code 1
end sub
sub macro2()
'le code 2
end sub
Je t'ai enlevé le On Error Resume Next qui n'est pas du tout une bonne idée. Il vaut mieux être alerté des erreurs que de se retrouver avec des bugs indécelables.
On ne le met que quand on sait pertinament que la ligne suivante génère des erreurs et qu'on en tient compte dans le code.
Et juste en dessous de cette ligne on rétabli le traitement des erreurs avec On error goto 0
eric
pour appeler la 2eme macro il n'y a pas de fonction call.?
Si, mais comme tu as dit dans la question que tu le savais je n'en ai pas parlé...
Ca doit ressembler à ça :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("B4")) Is Nothing Then Range("B48") = Range("B48") + 1
'le code qui reste ici
...
call macro1
' encore du code ici si tu veux
...
call macro2
' encore du code ici si tu veux
...
End Sub
sub macro1()
'le code 1
end sub
sub macro2()
'le code 2
end sub
Je t'ai enlevé le On Error Resume Next qui n'est pas du tout une bonne idée. Il vaut mieux être alerté des erreurs que de se retrouver avec des bugs indécelables.
On ne le met que quand on sait pertinament que la ligne suivante génère des erreurs et qu'on en tient compte dans le code.
Et juste en dessous de cette ligne on rétabli le traitement des erreurs avec On error goto 0
eric
Bonjour,
S'il y a des paramètres à la macro, il faut distinguer 2 méthodes :
Cdt
Info
S'il y a des paramètres à la macro, il faut distinguer 2 méthodes :
Option Explicit Sub Macro1(ByVal Nom As String) MsgBox Nom End Sub ' Sub Macro2(ByVal Prenom As String) MsgBox Prenom End Sub ' Sub Macro() Call Macro1("Bonjour") Call Macro2("Bon matin") ' Ou encore Macro1 "Bonne après-midi" Macro2 "Bonne soirée" End Sub '
Cdt
Info