Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

executer macro en fonction d une valeur de cellule liée

S

steve

Guest
salut a tous

je n arrive pas a faire executer la macro en fonction d une valeur de cellule que ti ma fait gracieusement quand a1 est en liason avec liste deroulant en i1

merci d avance

steve
 

Pièces jointes

  • Selection_ChangeTi.xls
    25.5 KB · Affichages: 158
  • Selection_ChangeTi.xls
    25.5 KB · Affichages: 161
  • Selection_ChangeTi.xls
    25.5 KB · Affichages: 159
T

Ti

Guest
voilà, je t'ai mis une liste déroulante et ça marche
 

Pièces jointes

  • Selection_Change2Ti.xls
    23 KB · Affichages: 335
  • Selection_Change2Ti.xls
    23 KB · Affichages: 316
  • Selection_Change2Ti.xls
    23 KB · Affichages: 286
S

steve

Guest
oui ok
ca j'arrivais a le faire(" ")mais la liste deroulante n'est pas en a1 et a1=i1 et i1 est la liste deroulante regard la piece jointe

merci encore
 

Pièces jointes

  • Selection_Change2Ti.xls
    23.5 KB · Affichages: 178
  • Selection_Change2Ti.xls
    23.5 KB · Affichages: 170
  • Selection_Change2Ti.xls
    23.5 KB · Affichages: 162
T

Ti

Guest
eh bien dans ce cas, tu changes l'adresse A1 par I1 dans la macro !!!!
eh les gars, faites quelques essais quand même avant d'appeler à l'aide...

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Isect As Range
Set Isect = Application.Intersect(Range("I1"), Target)
If Isect Is Nothing Then Exit Sub
Select Case Target.Value
Case "Gaston"
Call Macro1
Case "René"
Call Macro2
'Case xxx
'appelle la macro x
End Select

End Sub
 
S

steve

Guest
plutot cette piece joint l autre c est ce que tu m avait envoyer

merci
 

Pièces jointes

  • Selection_Change2Ti.xls
    25 KB · Affichages: 225
  • Selection_Change2Ti.xls
    25 KB · Affichages: 199
  • Selection_Change2Ti.xls
    25 KB · Affichages: 231
T

Ti

Guest
Je ne sais pas si tu es nul, mais quelques explications seraient les bienvenues.
Que recherches-tu au juste ? A chaque fois tu renvoies mon fichier sans aucune modification, alors je résume :
tu veux qu'une macro s'exécute quand ta cellule A1 de la feuille 1 change, mais cette cellule A1 dépend dune saisie dans une autre feuille. C'est bien ça ?
Dans ce cas, place la macro événementielle directement dans la feuille où se fait la mise à jour via la liste de choix, ça revient au même que si tu testais A1 de ta feuille 1 et ce sera plus simple parce que sinon tu es obligé d'utiliser l'événement Calculate beaucoup moins précis que l'événement Change. Tu me suis ?
Donc, si c'est bien ça, remets la macro événementielle que tu as virée (???) dans ton dernier fichier DANS cette feuille 2 et ça devrait aller.
Si ce n'est pas ça, donne des explications détaillées (inutile de renvoyer mon fichier que tout le monde doit commencer à connaître maintenant) et si tu n'as pas d'explications plus précises à donner, passe à un autre sujet. Désolé d'être si sec, mais au bout d'un moment, c'est un peu gonflant.
 
S

steve

Guest
OK TU AS COMPRIS
mais pourquoi l'evenement calculate est moin precis
parce que je veux utiliser 2 feuilles
excuse moi pour les pieces jointes mais la derniere a ete modifier

merci
 
T

Ti

Guest
calculate est moins précis parce qu'il se déclenche à chaque calcul (c'est à dire chaque fois qu'une cellule change) et dans ton cas, ta macro risquerait de se lancer sans discernenement, alors qu'avec l'événement Change, tu peux tester quelle cellule est changée et donc ne réagir que si c'est celle qui t'intéresse.
Donc si j'ai bien compris, copie comme je te l'ai dit ma macro dans l'autre feuille et tu verras tout se passera bien (au besoin n'oublie pas de changer l'adresse de la cellule à pister)
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…