Lancer une macro par rapport à une autre

Résolu
NkRedoxx -  
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

1 réponse

  1. Pierre1310 Messages postés 8854 Statut Membre 652
     
    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
    1. NkRedoxx
       
      Ma macro 1 doit être lancer que sur la première feuille de style qui se nomme SOMMAIRE en fait !
      Merci,
      0
    2. Pierre1310 Messages postés 8854 Statut Membre 652
       
      La feuille de style ou la feuille de travail?
      0
    3. NkRedoxx
       
      feuille de travail je pense (ou il est indiqué a la base Sheet1/Sheet2...)
      0
    4. Pierre1310 Messages postés 8854 Statut Membre 652
       
      ba tu fais
      
      sheets("SOMMAIRE").activate
      

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