Lancer une macro sans bouton

Résolu/Fermé
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 20 sept. 2007 à 20:12
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 28 avril 2010 à 14:21
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
A voir également:

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é !
1
m@rina Messages postés 20042 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 20 avril 2024 11 269
20 sept. 2007 à 22:02
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.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
20 sept. 2007 à 23:10
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
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
21 sept. 2007 à 05:52
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
21 sept. 2007 à 06:00
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
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
21 sept. 2007 à 06:02
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
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
28 avril 2010 à 11:45
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

0
m@rina Messages postés 20042 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 20 avril 2024 11 269
28 avril 2010 à 11:50
Hello Vaucluse ! presque trois ans après ?!! ;))) ça a dû drôlement mouliner !!! :D

m@rina
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
28 avril 2010 à 12:13
Salut tout le monde ,

Ben oui, qu'est-ce qu'il nous fait vaucluse ?
En plus, 3 ans plus tard, il se répond à lui même :-)
Vaucluse va falloir l'allonger un peu plus l'anisette, le soleil commence à revenir ;-)
Bonne journée
eric
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
28 avril 2010 à 12:42
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
0
m@rina Messages postés 20042 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 20 avril 2024 11 269
28 avril 2010 à 13:04
Bon d'accord, j'arrive !!! ;) c'est où ?... au vieux Port ? ;))

m@rina
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
28 avril 2010 à 14:21
Non M@rina.. au vieux porc non plus!
Bise
0