Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Si condition = vrai alors MACRO 1 sinon rien..... possible ?

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 !

Daylight

XLDnaute Nouveau
Bonjour,
Je ne connais pas le langage VBA, j'aimerais simplement savoir s'il est possible d'inclure une macro en résultat d'un algorithme s'il vous plaît ?

Si condition = vrai alors MACRO 1 sinon rien

Quelqu'un saurait-il comment faire ? (si cela est possible...)

Merci de votre aide et bonne journée à vous !
DL
 
Re : Si condition = vrai alors MACRO 1 sinon rien..... possible ?

Je m'excuse mais je ne sais pas comment intégrer ce code VBA à la cellule ! Il faudrait que j'apprenne, c'est sûr...
Te serait-il possible de m'indiquer la formule associée à ce code s'il te plaît ?

Par exemple, si A1 différent de rien alors Macro 1, sinon rien =SI(A1<>"";macro1;"")
 
Re : Si condition = vrai alors MACRO 1 sinon rien..... possible ?

Bonjour

Tu ne peux pas appeler une sub à partir d'une cellule. Tu peux en revanche appeler une fonction que tu définis par macro.
Par exemple si tu as une fonction qui convertit les degrés celcius en centigrades tu peux écrire =celciuscentigrades(A1)
mais tu ne peux pas déclencher une macro avec une formule.
Tu peux en revanche écrire une macro événementielle : quand tu rentres une valeur dans la cellule, l'événement worksheet_change se déclenche. tu peux "intercepter" ce changement et tester par macro
si la valeur rentrée = 12 alors macro 1 sinon macro 3
 
Re : Si condition = vrai alors MACRO 1 sinon rien..... possible ?

Meci Pierrot, je comprends qu'on ne peut pas associer une macro à une cellule, mais qu'elle s'associe à la page, d'où le besoin de passer par le code VBA.

Alors voici en attaché un document exemple. Si par hasard tu voulais bien intégrer ton code à ma page pour que j'essaie ensuite de comprendre comment tu as fait, ça serait très aimable 🙂 )
 
Re : Si condition = vrai alors MACRO 1 sinon rien..... possible ?


Merci beaucoup pour ton message Misange, ça m'intéresse beaucoup ce que tu dis, seulement pour créer cette macro évènementielle relève du langage VBA, n'est-ce pas ? Malheureusement je n'ai pas de connaissance dans ce langage...
 
Re : Si condition = vrai alors MACRO 1 sinon rien..... possible ?

Dans ce genre
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Target.Value <> "" Then Me.[A2].Value = Target.Value
End Sub
À mettre dans le module de la feuille.
À+
 
Re : Si condition = vrai alors MACRO 1 sinon rien..... possible ?

Re,

essaye ceci, procédure événementielle, se déclenche lors d'une modif effectuée sur la feuille :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Not IsEmpty(Target) Then Range("A2") = Target
End Sub

A placer dans le module de la feuille => click droit sur l'onglet => visualiser le code => et tu colles...
 
Re : Si condition = vrai alors MACRO 1 sinon rien..... possible ?

Nous y sommes presque 😀 Merci bcp Dranreb et Pierrot, ça marche très bien, seulement le hic c'est que là vous avez créé la macro dans votre code si je comprends bien, hors dans le document que j'ai joins, la Macro1 existe déjà ! J'aimerais donc que vous me montriez comment appeler cette macro 1 à travers votre code VBA !

Car dans mon document à moi, la macro est beaucoup plus complexe que ça, c'est pour cette raison que je souhaiterai savoir comment l'appeler !

Merci beaucoup pour votre aide !
 
Re : Si condition = vrai alors MACRO 1 sinon rien..... possible ?

et bien invoquer son nom au lieu d'affecter une valeur de cellule à une autre, comme déja indiqué !
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Target.Value <> "" Then Macro1
End Sub
À+

Attention danger, je rectifie:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Target.Value <> "" Then
   Application.EnableEvents = False
   Macro1
   Application.EnableEvents = True
   End If
End Sub
À+
 
Dernière édition:
Re : Si condition = vrai alors MACRO 1 sinon rien..... possible ?

Merci beaucoup pour ton message Misange, ça m'intéresse beaucoup ce que tu dis, seulement pour créer cette macro évènementielle relève du langage VBA, n'est-ce pas ? Malheureusement je n'ai pas de connaissance dans ce langage...

Regarde la réponse de Dranreb
Oui il faut un peu de VBA pour faire ça. C'est pas si compliqué que ça en a l'air et l'enregistreur de macro t'aide bien souvent
quelques pages pour comprendre le vocabulaire et les bases ici
Les macros Excel | www.excelabo.net
 
- 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
6
Affichages
248
Réponses
9
Affichages
659
Réponses
9
Affichages
619
Réponses
1
Affichages
666
Réponses
4
Affichages
652
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…