Exécuter une macro dont le nom est dans une cellule Excel

Résolu
philou9906 -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un tableau de tâches journalière. Si il y a des tâches qui se font chaque jour, d'autres viennent s'ajouter ou se retirer durant la semaine. J'ai donc créé un tableau dans lequel une colonne se met à jour avec : à faire / à ne pas faire.

J'aimerai ajouter une colonne dans laquelle j'ai le nom de la macro à exécuter. La partie condition si "est à faire ou non", ne me pose pas de problème.

Ma question est de savoir comment faire pour que ma variable NMAC ( Nom macro ) lance cette fameuse macro.

J'ai essayé :
Application.Run NMAC

Sans succès

D'avance merci de votre aide.

Meilleures salutations.

1 réponse

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    une petite maquette
    http://www.cjoint.com/c/FCyghfe5Kat

    les codes
    Option Explicit
    '---------------------
    Sub toto()
    MsgBox "toto"
    End Sub
    '------------------------------
    Sub tata()
    MsgBox "tata"
    End Sub
    '---------------------------------------
    Sub mamacro()
    Application.Run ActiveCell.Value
    End Sub


    les codes:
    1
    1. philou9906
       
      Bonjour Michel,

      Merci pour votre réponse. Hélas, j'ai un message d'erreur me disant que la macro recherchée n'est pas disponible.
      Mon fichier est lourd, prenant des infos dans d'autre. Il m'est donc pas possible de vous donner une copie.
      Mais par contre, je vous met ci-dessous la partie de la macro avec votre solution.

      Dim CASU As Date, CSU As Date, DEPART As Date, HSITE As Date, DEPSITE As Date, HDEST As Date, HOPER As Date
      Dim CASUCSU As Date, CSUDEP As Date, DEPARTSITE As Date, SURPLACE As Date, CSUSITE As Date, TEMINTER As Date
      Dim DATIN As Date, NFIP As Long, NACA As Byte, MEDIC As String, PROTO As String, SECUTEL As String, FB As String, PARTENAIRE As String, LOC As String
      Dim SMUR As String, NMSMU1 As String, NMSMU2 As String, HELIC As String, NMHELIC As String
      Dim SEXE As String, TYPLIEUPRISCHARGE As String, MOTIFINT As String, CATDEST As String, HOPDEST As String, TROM As String, KM As Long, NMPROTO As String, PROTOPAR As String
      Dim X As Long, MEDI As String
      Option Explicit
      Sub Attentes()
      CEF = Sheets("ArPr").Range("D2").Value
      'Prise des variables fixes
      With Worksheets("Données2")
      .Activate
      STAT1 = .Range("O2").Value 'A faire
      STAT2 = .Range("O4").Value 'En Attente
      End With
      'Colllecter les données pour les répartir
      CollectdonnéesFIP
      'Chronologie des reports des données collectées
      With Worksheets("Checklist")
      .Activate
      'Boucle pour faire toute les tâches
      X = 2
      While .Range("A" & X) <> ""
      NAr = .Range("A" & X).Value
      STAT = .Range("D" & X).Value
      If STAT = STAT1 Or STAT = STAT2 Then
      'Doit être fait
      NF = .Range("C" & X).Value ' Chemin complet
      CHE = .Range("F" & X).Value ' Chemin complet
      Ongl = .Range("G" & X).Value ' Chemin complet
      NMAC = .Range("H" & X).Value 'Nom de la macro
      Application.Run NMAC
      ControlesifichieOuvert
      End If
      X = X + 1
      Wend
      End With
      End Sub
      Sub CollectdonnéesFIP()
      .....

      PS : Je ne suis pas un pro. Je bricole et je pense que celà se voit. Donc j'espère que mon mic-mac vous sera tout de même compréhensible.

      Merci à vous
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320 > philou9906
       
      Bonjour,

      Que veux tu que je te dise...
      J'ai répondu à ta question initiale en réalisant une petite maquette , je l'ai testée et ca marchait; donc...
      le code que tu m'envoie est illisible, brouillon et mal conçu...
      0
    3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Bonjour a vous deux

      Son code (meme "mal consu") marche

      philou9906: regardez le nom de la macro !!!!!
      0
    4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320 > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       
      merci pour tes commentaires
      0
    5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Re,

      Ce n'est pas une "critique", ni un "jugement de valeur", mais seulement un constat sans plus
      0