XL 2016 Recuperer la valeur d'une cellule pour lancer sa macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

deudecos

XLDnaute Impliqué
Bonjour à toutes et à tous,

Cela fait quelques temps que je n'avais pas eu l'opportunité de vous demander votre aide, alors vu que mes recherches n'ont rien donné de satisfaisant, je me permet de vous poser directement la question.

A partir d'une cellule qui contient le nom d'une macro, je voudrais déclencher cette dernière.
Exemple: en C10 j'ai "Machin" qui correspond au nom d'une macro
à partir d'un USF, je clique sur un bouton qui me lance une recherche dans la colonne "C" afin de trouver "Machin" et me lancer la macro qui va avec... Jusque là vous me suivez ?

En gros j'ai pondu un truc dans le genre:

Dim L As Integer, i As Integer, e As String
L=Sheets("Feuil1") .Range("C65000") .End(XlUp) .Row
For i = 2 To L
If Sheets("Feuil1") .Range("A1")=Sheets("Feuil1").Range("C"& i).Value Then
e = Sheets("Feuil1") .range("C"& i) .Value

Call e 'et c'est là que je pêche... Il me renvoie une erreur : Sub, Function ou Property attendue
End If
Next

Quelqu’un aurait une idée de ce qui ne va pas?
Merci d'avance et bonne journée.
Olivier
 
Bonjour Dranreb, le forum,

Merci pour cette réponse, ça fonctionne, mais curieusement pas quand je passe par e... Pour que la macro se lance, je suis obligé de traiter en direct à savoir Application. Run Sheets("Feuil1") .Range("C" & i). Value.
Bizarre non?

Bonne journée.

Olivier
 
Désolé, j'ai du aller pousser la neige...
J'aurais aimé joindre mon classeur mais il fait plus de 25 Mo pour le moment et j'avoue n'avoir que peu de temps en ce moment pour tenter de le nettoyer, ce qui me semble fastidieux...
En attendant, je vais continuer à tâtonner...
Bonne soirée

Olivier
 
Bonsoir

VB:
Dim L As Integer
dim i As Integer
' Remplace
' dim e As String
' news
Dim TabNom(0) As String

L=Sheets("Feuil1") .Range("C65000") .End(XlUp) .Row

For i = 2 To L
    If Sheets("Feuil1") .Range("A1")=Sheets("Feuil1").Range("C"& i).Value Then
        ' Remplace
        ' e = Sheets("Feuil1") .range("C"& i) .Value
        ' News
        TabNom(0) = Sheets("Feuil1") .range("C"& i) .Value
'Call e 'et c'est là que je pêche... Il me renvoie une erreur : Sub, Function ou Property attendue
        ' Remplace
        ' Application.Run ActiveCell.Value
        ' news
        Application.Run TabNom(0) ' Ou avec ceci Application.Run (TabNom(0))
    End If
Next

Peut être que cela fonctionne comme cela !

laurent
 
Bonjour à tous

Autant pour moi, j'ai trouvé l'erreur qui ne venait pas du lancement de la macro, mais de la référence à la cellule... Je tombais systématiquement sur une cellule vide, donc pas de macro lancée...
Merci à tous et bonne journée.

Olivier
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
237
Réponses
10
Affichages
486
Réponses
9
Affichages
385
Retour