Lancer une macro sans bouton
Résolu
Vaucluse
Messages postés
26496
Date d'inscription
Statut
Contributeur
Dernière intervention
-
Vaucluse Messages postés 26496 Date d'inscription Statut Contributeur Dernière intervention -
Vaucluse Messages postés 26496 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir
Je cherche désepérement une solution pour lancer une macro sur Excel à partir du remplissage d'une cellule.
C.a.d que la macro s'exècute dés que la cellule reçoit la valeur condition, sans passer par un bouton ou une option clavier.
Est ce possible.
Merci d'avance à mon (ou mes)sauveur (veuse)
Bien cordialement
Je cherche désepérement une solution pour lancer une macro sur Excel à partir du remplissage d'une cellule.
C.a.d que la macro s'exècute dés que la cellule reçoit la valeur condition, sans passer par un bouton ou une option clavier.
Est ce possible.
Merci d'avance à mon (ou mes)sauveur (veuse)
Bien cordialement
A voir également:
- Vba lancer une macro dans une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Lancer une application au démarrage windows 10 - Guide
8 réponses
Bonsoir,
Ce n'est pas une macro qu'il faut que tu utilises, mais la fonction "recherchev" ou la mise en forme conditionnelle.
La recherchev, sers à ce que quand tu rentres une donnée, excel rempli automatiquement d'autre cellule. Du genre, tu rentres un code, et automatiquement excel rempli que c'est un "pantalon marron" dans la cellule d'à coté et son prix dans la cellule d'après.
La mise en forme conditionnelle te permets de mettre par exemple toutes les cellules d'un tableau dont le chiffre est inférieur à 2 en gras ou en rouge...
La recherchev est un peu compliqué à t'expliquer comme ça, mais la mise en forme conditionnelle est simple : tu fais "format" "mise en forme conditionnelle" "la valeur de la cellule est" tu choisis quoi (égale, inférieur ou égale à ...) dans la troisière colonne, tu saisis le nombre ou tu sélectionne la cellule et enfin tu choisis ce qui doit se passer dans ce cas en cliquant sur "format" (le "format de la boite de dialogue biensur).
Et le tour est joué !
Ce n'est pas une macro qu'il faut que tu utilises, mais la fonction "recherchev" ou la mise en forme conditionnelle.
La recherchev, sers à ce que quand tu rentres une donnée, excel rempli automatiquement d'autre cellule. Du genre, tu rentres un code, et automatiquement excel rempli que c'est un "pantalon marron" dans la cellule d'à coté et son prix dans la cellule d'après.
La mise en forme conditionnelle te permets de mettre par exemple toutes les cellules d'un tableau dont le chiffre est inférieur à 2 en gras ou en rouge...
La recherchev est un peu compliqué à t'expliquer comme ça, mais la mise en forme conditionnelle est simple : tu fais "format" "mise en forme conditionnelle" "la valeur de la cellule est" tu choisis quoi (égale, inférieur ou égale à ...) dans la troisière colonne, tu saisis le nombre ou tu sélectionne la cellule et enfin tu choisis ce qui doit se passer dans ce cas en cliquant sur "format" (le "format de la boite de dialogue biensur).
Et le tour est joué !
Bonsoir,
Oui, ça s'appelle des macros événementielles.
Je te conseille de télécharger le classeur jb-worksheetchange de Jacques Boisgontier sur le site d'Excelabo :
http://www.excelabo.net/moteurs/download.php?pge=1&auteur=&tous=&deb=&tri=&rubrique=macros
Tu vas trouver plein d'exemples et tu vas apprendre plein de choses.
Oui, ça s'appelle des macros événementielles.
Je te conseille de télécharger le classeur jb-worksheetchange de Jacques Boisgontier sur le site d'Excelabo :
http://www.excelabo.net/moteurs/download.php?pge=1&auteur=&tous=&deb=&tri=&rubrique=macros
Tu vas trouver plein d'exemples et tu vas apprendre plein de choses.
Bonsoir,
il faut utiliser l'evenement change de ta feuille(worksheet) :
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1:C3]) Is Nothing Then
'rien faire
Else 'c'est la bonne cellule
'et tu peux rajouter un test sur le contenu
If Target.Value = 5 Then
MsgBox ("yesss!!!!")
Else
MsgBox ("ah ben non, il fallait saisir 5")
End If
End If
End Sub
et si plusieurs zones doivent etre testées tu remplaces [A1:C3] par union([A1:C3], [D:D], [8:8]) (zone+colonne+ligne+...)
eric
il faut utiliser l'evenement change de ta feuille(worksheet) :
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1:C3]) Is Nothing Then
'rien faire
Else 'c'est la bonne cellule
'et tu peux rajouter un test sur le contenu
If Target.Value = 5 Then
MsgBox ("yesss!!!!")
Else
MsgBox ("ah ben non, il fallait saisir 5")
End If
End If
End Sub
et si plusieurs zones doivent etre testées tu remplaces [A1:C3] par union([A1:C3], [D:D], [8:8]) (zone+colonne+ligne+...)
eric
Merci beaucoup Popie, je connais la fonction,mais ce n'est pas ce que je cherche. Ce que je souhaite, ce n'est pas trouver la valeur d'une cellule dans une liste, mais d'engager une action quelconque à parir du moment ou une cellule identifiée prend une certaine valeur.
Merci quand même,c'est toujors agréable de trouver des gens qui tentent de réosudre vos problèmes.
Bien cordialement
Merci quand même,c'est toujors agréable de trouver des gens qui tentent de réosudre vos problèmes.
Bien cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'essaie cela dans les jours qui viennet et je vous réponds sur le sujet Eriiic, ça me semble convenir.A vérifier, merci beaucoup.
Bien cordialement
Bien cordialement
J'ai fait un tour dans le site M@rina, et je vais peut être y trouver mon bonheur, dans des configurations qui se rapprochent de ce que m'a répondu Eriiic.
Décidemment, on avance beaucoup avec des gens comme vous.*Merci encore.
Cordia
lement
Décidemment, on avance beaucoup avec des gens comme vous.*Merci encore.
Cordia
lement
Bonjour
ci après code à, placer dans le code de la feuille où se trouve la cellule , à ajuster
Ce code lance la macro si la cellule C21 est modifiée, dès l'action sur la touche "entrée"
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [C21]) Is Nothing Then Exit Sub
Ici,écrire ou lancer macro
End Sub
en variante s'il est nécessaire de remplir plusieurs cellules pour lancer le code, modifier la ligne:
If Intersect(Target, Union([C21], [C23], Range("A3:A20"))) Is Nothing Then Exit Sub
Pour rendre à César ce qui est à Eriiic, c'est de lui que je détiens ce code qui fonctionne, je l'ai testé dans un fichier il y a quelques jours.
Pour info si nécessaire _bien que je ne crois pas:
code à entrer dans le code feuille, soit clic droit sur nom de la feuille et "Visualiser le code", inscrire dans l'affichage VBA correspondant.
Crdlmnt
ci après code à, placer dans le code de la feuille où se trouve la cellule , à ajuster
Ce code lance la macro si la cellule C21 est modifiée, dès l'action sur la touche "entrée"
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [C21]) Is Nothing Then Exit Sub
Ici,écrire ou lancer macro
End Sub
en variante s'il est nécessaire de remplir plusieurs cellules pour lancer le code, modifier la ligne:
If Intersect(Target, Union([C21], [C23], Range("A3:A20"))) Is Nothing Then Exit Sub
Pour rendre à César ce qui est à Eriiic, c'est de lui que je détiens ce code qui fonctionne, je l'ai testé dans un fichier il y a quelques jours.
Pour info si nécessaire _bien que je ne crois pas:
code à entrer dans le code feuille, soit clic droit sur nom de la feuille et "Visualiser le code", inscrire dans l'affichage VBA correspondant.
Crdlmnt
Salut Eriiic, salut M@rina
hé bééé, hips, oui...., c'est plus de l'anisette là, c'est carrément l'absinthe!!!!(voire pire)
Mais il y a quand même une autre explication, un peu plus rationnelle qu'un coma éthylique dépassé...!
en fait, je répondais à un message privé qui était tombé dans ma boite ce matin et je me suis un tout petit peu trompé de fil, à cause d'un lien qui trainait que je n'ai pas identifié!
J'en suis donc quitte pour une tournée à boire à ma santé (il y en a bien besoin), et surtout pour une grande poignée de main à Eriiic et une grosse bise à Ma Rina, (que je m'approprie pour la circonstance, na!.. Marie....)
Bien amicalement
hé bééé, hips, oui...., c'est plus de l'anisette là, c'est carrément l'absinthe!!!!(voire pire)
Mais il y a quand même une autre explication, un peu plus rationnelle qu'un coma éthylique dépassé...!
en fait, je répondais à un message privé qui était tombé dans ma boite ce matin et je me suis un tout petit peu trompé de fil, à cause d'un lien qui trainait que je n'ai pas identifié!
J'en suis donc quitte pour une tournée à boire à ma santé (il y en a bien besoin), et surtout pour une grande poignée de main à Eriiic et une grosse bise à Ma Rina, (que je m'approprie pour la circonstance, na!.. Marie....)
Bien amicalement