Lancer une macro par rapport à une autre

Résolu/Fermé
NkRedoxx - 7 juin 2016 à 11:19
Pierre1310 Messages postés 8554 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 - 7 juin 2016 à 12:17
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
A voir également:

1 réponse

Pierre1310 Messages postés 8554 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 645
7 juin 2016 à 11:22
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?
0
Ma macro 1 doit être lancer que sur la première feuille de style qui se nomme SOMMAIRE en fait !
Merci,
0
Pierre1310 Messages postés 8554 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 645
7 juin 2016 à 11:28
La feuille de style ou la feuille de travail?
0
feuille de travail je pense (ou il est indiqué a la base Sheet1/Sheet2...)
0
Pierre1310 Messages postés 8554 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 645
7 juin 2016 à 11:33
ba tu fais

sheets("SOMMAIRE").activate

Et la, tout le traitement que tu feras sera sur ta feuille sommaire.
0
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
0