Lancer une macro par rapport à une autre
Résolu
NkRedoxx
-
Pierre1310 Messages postés 8854 Statut Membre -
Pierre1310 Messages postés 8854 Statut Membre -
Bonjour, j'aimerais lancer une macro par rapport à une deuxième macro ! Le but étant de lancer la macro1 quand je lance la macro2 . Si possible j'aimerais également que la macro1 ne soit opérationnel que dans ma première feuille de style nommé SOMMAIRE ! j'ai essayé d'ajouter un With SOMMAIRE mais cela n'a pas fonctionné. Je vous laisse les deux macros ci joint merci d'avance !
Macro 1 : http://www.cjoint.com/c/FFhjshlMpvC
Macro 2 : http://www.cjoint.com/c/FFhjsLfnGXC
Macro 1 : http://www.cjoint.com/c/FFhjshlMpvC
Macro 2 : http://www.cjoint.com/c/FFhjsLfnGXC
1 réponse
-
Salut,
sub macro1() 'mon code blablabla call macro2 'les paramètres à la suite si il y a des paramètres end sub sub macro2() end sub
Pour que ta macro 1 soit lancée, il faut que au moins une des feuilles s'appelle sommaire?-
-
-
-
-
Option Explicit
Const F1 = "BAIE AT10"
Const lidebF1 = 2
Const coF1 = "F"
Const F2 = "DATA SWITCH"
Const lidebF2 = 2
Const coF2 = "B"
Const FR = "SOMMAIRE"
Const lidebFR = 2
Const coFR = "C"
Const nonOK = "NO BRASS NON AFFECT DON'TCONNECT "
Public Sub macro2()
Dim liF As Long, lifinF As Long
Dim obj As Object
Dim dico As Object, cle As String, cles, valeurs, nbcles As Long, nucle As Long
Set dico = CreateObject("scripting.dictionary")
With Sheets(F1)
lifinF = .Range(coF1 & Rows.Count).End(xlUp).Row
For liF = lidebF1 To lifinF
cle = .Range(coF1 & liF).Value
If InStr(1, nonOK, cle) = 0 Then
If Not dico.exists(cle) Then dico.Add cle, 1
End If
Next liF
End With
With Sheets(F2)
lifinF = .Range(coF2 & Rows.Count).End(xlUp).Row
For liF = lidebF2 To lifinF
cle = .Range(coF2 & liF).Value
If InStr(1, cle, nonOK) = 0 Then
If dico.exists(cle) Then
dico.Remove (cle)
Else
dico.Add cle, 1
End If
End If
Next liF
End With
cles = dico.keys
valeurs = dico.items
nbcles = dico.Count
With Sheets(FR)
.Range(coFR & lidebFR).Resize(nbcles - 1, 1) = Application.Transpose(cles)
End With
End Sub
Sub Macro1()
Call Macro2
End Sub
Sub Macro2()
End Sub
Résultat : Erreur --> Nom ambiguë détécté : Macro2
-