A voir également:
- Lancer une macro sous EXCEL lorsqu'une condit
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Déplacer une colonne excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Lancer une application au démarrage windows 10 - Guide
3 réponses
Bonjour,
Si G13=G14 appel la fonction NomFonctionMacro si la fonction renvoi un paramètre l'inscrit dans la cellule mais pas obligatoire.
Edit: mais c'est la solution à mettre dans une cellule.
Autre solution si pas dans cellule..
A+
Si G13=G14 appel la fonction NomFonctionMacro si la fonction renvoi un paramètre l'inscrit dans la cellule mais pas obligatoire.
=SI(G13=G14;NomFonctionMacro();0)
Edit: mais c'est la solution à mettre dans une cellule.
Autre solution si pas dans cellule..
Private Sub Worksheet_Calculate()
If Range("G13") = Range("G14") then
call NomFonctionMacro()
end if
End Sub
A+
bonjour
tu pourrais essayer ceci dans le code d'une feuille (Feuil1 par exemple) :
si les contenus de B6 et E6 dans Feuil1 sont égaux --> alors lancement de la procédure "test".
La variable InfoTest est indispensable pour éviter le lancement de la procédure "test" à chaque click lorsque les contenus sont égaux.
à plus
tu pourrais essayer ceci dans le code d'une feuille (Feuil1 par exemple) :
Public InfoTest As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x = Cells(6, 2).Value
y = Cells(6, 5).Value
If x <> y Then
InfoTest = 0
Exit Sub
End If
If InfoTest = 1 Then Exit Sub
InfoTest = 1
Call test
End Sub
Sub test()
MsgBox ("Test lancement d'une procédure")
End Sub
si les contenus de B6 et E6 dans Feuil1 sont égaux --> alors lancement de la procédure "test".
La variable InfoTest est indispensable pour éviter le lancement de la procédure "test" à chaque click lorsque les contenus sont égaux.
à plus
Désolé de te contredire, mais dés que le contenu d'une cellule (quel qu'elle soit) est modifiée la fonction calculate est appellée. (Pour autant que la propriété Calculate soit mise en auto).
Aucune "Liaison" requise, je ne vois d'ailleur pas ce que tu veux dire par liaison, toutes les cellule d'une feuille sont "liées".
A+
Aucune "Liaison" requise, je ne vois d'ailleur pas ce que tu veux dire par liaison, toutes les cellule d'une feuille sont "liées".
A+
bonjour Lermite
voici mon fichier de test pour t'expliquer le problème :
https://www.cjoint.com/?eiqceSiHfd
tu pourras constater dans la feuil2 que mettre des valeurs identiques dans les cellules jaunes ne provoque pas le lancement de la macro alors que sur la Feuil2(2) ça fonctionne car les cellules jaunes sont "liées" par un calcul.
sur Feuil1 ça fonctionne toujours
à plus
voici mon fichier de test pour t'expliquer le problème :
https://www.cjoint.com/?eiqceSiHfd
tu pourras constater dans la feuil2 que mettre des valeurs identiques dans les cellules jaunes ne provoque pas le lancement de la macro alors que sur la Feuil2(2) ça fonctionne car les cellules jaunes sont "liées" par un calcul.
sur Feuil1 ça fonctionne toujours
à plus
Salut,
pour coller ce code lancer visual basic editor, double clic sur la feuille qui doit réagir à ce code et coller ce code.
dans cet exemple, dès que B10 = A41, en A2 est collé la fonction maintenant().
reste à coller tes codes dans l'espace vide, modifier B10 et A41 et effacer Range("A2").Select ActiveCell.FormulaR1C1 = "=NOW()"
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B10") = Range("A41") Then
Range("A2").Select
ActiveCell.FormulaR1C1 = "=NOW()"
Exit Sub
End If
End Sub
A+
_____________________________________________________________
Vous cherchiez de l’aide. Les membres du forum, bénévolement étaient à vos côtés.
Ayez la gentillesse de nous dire si votre problème est résolu. Afin de classer la
Demande.
pour coller ce code lancer visual basic editor, double clic sur la feuille qui doit réagir à ce code et coller ce code.
dans cet exemple, dès que B10 = A41, en A2 est collé la fonction maintenant().
reste à coller tes codes dans l'espace vide, modifier B10 et A41 et effacer Range("A2").Select ActiveCell.FormulaR1C1 = "=NOW()"
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B10") = Range("A41") Then
Range("A2").Select
ActiveCell.FormulaR1C1 = "=NOW()"
Exit Sub
End If
End Sub
A+
_____________________________________________________________
Vous cherchiez de l’aide. Les membres du forum, bénévolement étaient à vos côtés.
Ayez la gentillesse de nous dire si votre problème est résolu. Afin de classer la
Demande.