Création
d'entreprise
Posez votre question Signaler

Lancer une macro sans bouton [Résolu]

Vaucluse 6574Messages postés 23 juillet 2007Date d'inscription 29 mai 2012Dernière intervention - Dernière réponse le 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
Lire la suite 

Lancer une macro sans bouton »

12 réponses
Réponse
+0
moins plus
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/...

Tu vas trouver plein d'exemples et tu vas apprendre plein de choses.
Ajouter un commentaire
Réponse
+0
moins plus
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é !
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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

m@rina- 28 avril 2010 à 11:50
Hello Vaucluse ! presque trois ans après ?!! ;))) ça a dû drôlement mouliner !!! :D

m@rina
eriiic- 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
Vaucluse- 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
Ajouter un commentaire
Réponse
+0
moins plus
Bon d'accord, j'arrive !!! ;) c'est où ?... au vieux Port ? ;))

m@rina
Vaucluse- 28 avril 2010 à 14:21
Non M@rina.. au vieux porc non plus!
Bise
Ajouter un commentaire
Ce document intitulé « Lancer une macro sans bouton » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?