Macro : Selon valeur cellule

Résolu
Keusti_001 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
Keusti_001 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Je suis débutant en macro, mais avide d'apprendre / comprendre !

Je souhaite appeler, selon la valeur d'une cellule, une macro plutot qu'une autre.

Si la cellule C23 de l'onglet "Analyses" est égale à 1, alors j'aimerais lancer la macro "ZSOLO_BoutonSOLO".
Si C23 > 1, alors lancer la macro "Z_BOUTON".

Je ne sais pas si c'est important, mais la case C23 est complété selon une recherche verticale.

Ca me parait tout simple, mais je cale !

un grand merci pour votre aide!

Keusti
A voir également:

2 réponses

Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
Bonjour,

Il vous faut activer la macro à chaque changement de la valeur que vous recherchez avec la formule Recherchev
Exemple: supposons que la valeur à rechercher est en B3 de la feuille "Analyses"
Votre formule: Recherchev(B3; Plage de recherche; colonne; 0)
Macro à copier dans le module de la feuille "Analyses"
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$23" Then
        If [C23] = 1 Then
            ZSOLO_BoutonSOLO
        ElseIf [C23] > 1 Then
            Z_BOUTON
        End If
    End If
End Sub


Cdlt
1
Keusti_001 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
Hello !

Merci pour ton aide !

Est-ce possible de donner un nom a cette macro, et de pouvoir l'appliquer via un bouton? :)

Quelques chose comme ceci ?
Sub Test()
Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$23" Then
If [C23] = 1 Then Call ZSOLO_BoutonSOLO
ElseIf [C23] > 1 Then Call Z_Bouton
End If
End If
End Sub

Mais il me mets la 2e ligne en rouge - Erreur de compilation / syntaxe...


PS : Petite faute de frappe dans la 2e ligne de ton code ? Il s'agit bien de "$C$23" et non "$B$23" ;-).
D'ailleurs, est-ce que les $ sont indispensables dans les macro ? Je comprends l'utilité dans les formules, mais moins dans une macro.
0
Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
Si vous voulez lancer la macro via un bouton:

Sub Test()
    If [C23] = 1 Then
        ZSOLO_BoutonSOLO
    ElseIf [C23] > 1 Then
        Z_BOUTON
    End If
End Sub


Cdlt
1
Keusti_001 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
Comment je peux faire si la case C23 est dans un autre onglet?

Quelque chose comme ceci ?

Sub AA_MACRO_GLOBALE()
If Worksheets("Procédures").Range("C23") = 1 Then
AC_Bouton_SOLO
ElseIf Worksheets ("Procédures").Range("C23") > 1 Then
AB_Bouton
End If
End Sub
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,

c'est bon
0
Keusti_001 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
Oui, j'ai fini par y arriver effectivement :D. Merci à vous deux ! :)
0