une fonction peut elle executer une macro ?

  • Initiateur de la discussion Initiateur de la discussion zak13
  • Date de début Date de début

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 !

Z

zak13

Guest
salut,
besoin d'aide, est il possible que le resultat d'une cellule puisse faire executer une macro .
Je vous en dit plus !! j'ai une fonction de 'SI ' qui dit d'ecrire '1' dans une cellule si c vrai; et j'aimerais que si la cellule =1 qu'une macro soit executé!! est ce possible soit sous excel soit en vba.

Merci
 
la réponse est oui,

tu fais ta recherche 'si' avec une macro et lors de l'interrogation:

if range('a1') = 1 then
call macroperso



ce qui fait que si la cellule a1 = 1 tu commande la macro 'macroperso'
et si a1 différent de 1 tu ne commandes pas

amicalement

chantal
 
tout est dit dans l'exemple à ziopizza

tu fais ta 1ere macro normalement, et tu poses ta condition, à la réponse pour oui tu commandes la 2eme macro (il y a 2 façons soit tu mets call avant le nom de la macro, soit tu mets directement le nom de la macro)à la fin de la procédure de la seconde macro, ça revient automatiquement à la 1ere (à l'endroit où la seconde procédure a été appelée)pour continuer (dans ce cas si c'est fini signale par exemeple d'aller à la fin de la procédure)

amicalement

chantal
 
Bonjour a tous,

Juste une petite précision, moi j'utiliserai plutot une instruction Private Sub Worksheet_Change(ByVal Target As Range) plutot qu'une procédure Private Sub Worksheet_SelectionChange(ByVal Target As Range) qui se declenche a chaque changement se cellule.

De plus, il n'est peut etre pas necessaire de ré-executer la macro des que le contenu d'une cellule change, mais seulement si le contenu de la cellule A1 change, donc je mettrais un code de ce genre, apres tout depend de ce que tu veux faire...
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.AddressLocal(0, 0) = 'A1' And Target.Value = 1 Then
    'le code de ta macro
End If
End Sub

@+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
242
Réponses
15
Affichages
855
Retour