Rechercher : dans
Par :

Lancer une macro sans bouton

Dernière réponse le 21 sep 2007 à 06:02:22 Vaucluse, le 20 sep 2007 à 20:12:34 
 Signaler ce message aux modérateurs

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 Science sans conscience n'est que ruine de l'Ame

Meilleures réponses pour « Lancer une macro sans bouton » dans :
Exécuter une macro VoirExécuter une macro Excel et Calc proposent plusieurs façons d’exécuter une macro : en la sélectionnant dans une liste, dans la boîte de dialogue Macro ; par un raccourci clavier ; en l’attachant à un bouton de la barre d’outils ; ...

1

m@rina, le 20 sep 2007 à 22:02:07

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.

Répondre à m@rina

2

popie1976, le 20 sep 2007 à 22:03:05

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é !

Répondre à popie1976

3

eriiic, le 20 sep 2007 à 23:10:25

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

Répondre à eriiic

4

Vaucluse, le 21 sep 2007 à 05:52:55

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 Science sans conscience n'est que ruine de l'Ame

Répondre à Vaucluse

5

Vaucluse, le 21 sep 2007 à 06:00:34

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 Science sans conscience n'est que ruine de l'Ame Bien cordialement

Répondre à Vaucluse

6

 Vaucluse, le 21 sep 2007 à 06:02:22

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 Science sans conscience n'est que ruine de l'Ame

Répondre à Vaucluse