Effectuer un programme automatiquement 2

Résolu/Fermé
lixil Messages postés 33 Date d'inscription dimanche 4 novembre 2012 Statut Membre Dernière intervention 1 mars 2014 - 12 juil. 2013 à 18:30
lixil Messages postés 33 Date d'inscription dimanche 4 novembre 2012 Statut Membre Dernière intervention 1 mars 2014 - 18 juil. 2013 à 19:13
Bonjour tous le monde,

Voila un programme qui a un problème.
La cellule A9 de la feuille 1 est égale à la cellule A10 de la feuille 2
Quand je modifie directement la cellule A9 de la feuille 1 le programme ci-dessous s'applique correctement. Mais lorsque je modifie la cellule A10 de la feuille 2 le programme ne marche pas. Pourquoi?

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Sheets("feuil1").Range("A9")) Is Nothing Then


If target = 1 Then

Range("A9:d12").Interior.ColorIndex = 0
Range("a9:a12").Interior.ColorIndex = 3

ElseIf target = 2 Then

Range("A9:d12").Interior.ColorIndex = 0
Range("a9:b12").Interior.ColorIndex = 3

ElseIf target = 3 Then

Range("A9:d12").Interior.ColorIndex = 0
Range("a9:c12").Interior.ColorIndex = 3

ElseIf target = 4 Then

Range("A9:d12").Interior.ColorIndex = 0
Range("a9:d12").Interior.ColorIndex = 3

end if

End If
End Sub


A voir également:

28 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 18/07/2013 à 09:22
Re,

Vous ne donnez pas quel excel vous utilisez, donc pour le fichier suivant,

https://www.cjoint.com/c/CGsjvNsZU2z

si excel 2007 et plus: pas de probleme

si anterieur a 2007: mfc ne marchra pas

supprimez la mfc si presente dans les regles

allez dans le VBA de la feuille Recap et enlevez la ligne Exit sub indiquee, la mise a jour des couleurs ce fera a chaque activation de l'onglet Recap

A+
1
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
12 juil. 2013 à 18:47
Bonjour,

La cellule A9 de la feuille 1 est égale à la cellule A10 de la feuille 2 comment ????
0
lixil Messages postés 33 Date d'inscription dimanche 4 novembre 2012 Statut Membre Dernière intervention 1 mars 2014
12 juil. 2013 à 19:25
a l'interieur de la cellule A9 (dans le tableau excell) il y a =feuil2!A10
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 12/07/2013 à 20:17
Bonjour,
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Address = "$A$1" and Target > 0 And Target < 5 Then
        Range("A9:d12").Interior.ColorIndex = xlNone '0 c'est noir
        Range(Cells(9, "A"), Cells(12, Target)).Interior.ColorIndex = 3
    End If
End Sub
A+


Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
0

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

Posez votre question
lixil Messages postés 33 Date d'inscription dimanche 4 novembre 2012 Statut Membre Dernière intervention 1 mars 2014
12 juil. 2013 à 20:29
Bonjour l'ermite222

ton programme fonctionne mais que sur la feuille active.
c'est pareil que mon premier programme (en plus sophistiquer!!)
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
12 juil. 2013 à 21:16
Ah oui... où c'est que tu dis que ça doit aller dans toutes les feuilles ??
Mais c'est pas un problème...
Tu colle ça dans le module ThisWorkBook
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
   If Target.Count > 1 Then Exit Sub
    If Target.Address = "$A$1" And Target > 0 And Target < 5 Then
        Sh.Range("A9:d12").Interior.ColorIndex = xlNone '0 c'est noir
        Sh.Range(Cells(9, "A"), Cells(12, Target)).Interior.ColorIndex = 3
    End If
End Sub

S'il y a des feuilles à exclure tu dis.
0
lixil Messages postés 33 Date d'inscription dimanche 4 novembre 2012 Statut Membre Dernière intervention 1 mars 2014
13 juil. 2013 à 09:21
Ce n'est pas encore bon!

Quand je modifie la cellule A9 de la feuille 1 les programmes fonctionnent correctement

Maintenant la cellule A9 de la feuille 1 est égale à =feuil!2A10
Lorsque je modifie la cellule A10 de la feuille 2, la cellule A9 de la feuille 1 change bien de valeur mais le programme ne s'est pas éffectué.
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
13 juil. 2013 à 10:47
Désolé mais là, je comprend plus rien.
Pourrais tu essayé d'expliquer CLAIREMENT ce que tu souhaite de la façon..
Je modifie la cellule A1 feuil1 entre 1 et 4, ça c'est OK ?
Je modifie la cellule XX et les cellules XX doivent se modifier de XX
etc..
Si tu parvient pas à expliquer, mettre un exemple de ton classeur sur Cjoint.com et mettre le lien sur un poste suivant.
A+


0
lixil Messages postés 33 Date d'inscription dimanche 4 novembre 2012 Statut Membre Dernière intervention 1 mars 2014
13 juil. 2013 à 11:10
Tiens voila le lien :
https://www.cjoint.com/?0GnlbpthYeJ

Je modifie la cellule A1 feuil1 entre 1 et 4. OK
A1 feuil1 = 1 et les cellules (A9:A12) se mettent en rouge
A1 feuil1 = 2 et les cellules (A9:B12) se mettent en rouge
A1 feuil1 = 3 et les cellules (A9:C12) se mettent en rouge
A1 feuil1 = 4 et les cellules (A9:D12) se mettent en rouge

Sa c'est OK!!


Maintenant je rentre la formule = feuil2!A10 dans la cellule A1 feuille 1
quand je modifie A10 feuille 2:
A10 feuil2 = 1 => A1feuil1 = 1 et les cellules A9:A12 ne se mettent pas en couleur
A10 feuil2 = 2 => A1feuil1 = 2 et les cellules A9:B12 ne se mettent pas en couleur
A10 feuil2 = 3 => A1feuil1 = 3 et les cellules A9:C12 ne se mettent pas en couleur
A10 feuil2 = 4 => A1feuil1 = 4 et les cellules A9:D12 ne se mettent pas en couleur
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
13 juil. 2013 à 12:27
Je modifie la cellule A1 feuil1 entre 1 et 4. OK
En tout cas, pas sur ton classeur (y me semblais que....) bref.
A voir
Mais je suis pas sûr que c'est ce que tu veux...
A+

0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
13 juil. 2013 à 17:35
Bonjour a vous deux,

Lixil:
pourquoi voulez-vous passez par le changement de valeur de la cellule Feuil1!A9 pour executer votre code ??? Si vous mettez votre code dans le VBA de la feuil2 sur changement de A10 en ajoutant que ce sont des cellules de la feul1 que vous voulez changer la couleur, ne serait-ce pas mieux ???
0
lixil Messages postés 33 Date d'inscription dimanche 4 novembre 2012 Statut Membre Dernière intervention 1 mars 2014
14 juil. 2013 à 12:08
Bonjour l'Ermite
Le programme marche mais pas quand tu modifie la cellule A10 de la feuille 2 donc c'est pas encore sa... (Merci pour ton aide et ta patience!!)

Bonjour f894009
Oui je pourrais mettre le programme dans la feuille 2 mais la c'est un exemple.
La où je voudrais l'appliquer, il y a 52 feuilles qui modifient 1 cellule donc soit je trouve un programme qui satisfait mes désirs, soit je 'applique ta solution et je dois mettre un programme dans les 52 feuilles!
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
14 juil. 2013 à 12:20
Le programme marche mais pas quand tu modifie la cellule A10 de la feuille 2 donc c'est pas encore sa... (Merci pour ton aide et ta patience!!)
ça commence à...
C'EST QUOI EXACTEMENT QUE TU VEUX ?????????????????????????
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
14 juil. 2013 à 12:47
Bonjour,

il y a 52 feuilles qui modifient 1 cellule Vous serez bien obliger de faire un minimun de code par feuille avec l'evenement change et un passage de un ou plusieurs parametres a un module unique qui changera vos couleurs. De plus, dans votre logique, la cellule A9 de feuille1 ne pourra pas etre egale a la cellule A10 de feuille 12 et A10 de feuille24, vous ne pouvez pas mettre de formule dans cette cellule.
0
lixil Messages postés 33 Date d'inscription dimanche 4 novembre 2012 Statut Membre Dernière intervention 1 mars 2014
14 juil. 2013 à 12:50
Voila j'ai trouvé une facon de faire ce que je veux mais c'est du bidouillage au niveau extrrême
Voila le programme : https://www.cjoint.com/?0GomXWNMMev
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 14/07/2013 à 13:02
Pour ma part, y a rien qui "clignote" et rien qui fonctionne ???
Mais bon, si t'a trouvés tant mieux.
Et vu... QUE TU NE SAIS PAS EXPLIQUER CE QUE TU VEUX,.
abandon du suivi.
@++
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
14 juil. 2013 à 19:28
Re,

pour qu'une ou plusieurs cellules clignotent, il faut un changement de couleur du contenu ou du contenant. Dans votre code du module CellulesVidesClignotent, il n'y a pas de changement de couleur et pourquoi une boucle pour une cellule

For Each a In Sheets("feuil1").Range("a9") ?????

Le .Cells ----> pas compris !!!!
0
lixil Messages postés 33 Date d'inscription dimanche 4 novembre 2012 Statut Membre Dernière intervention 1 mars 2014
15 juil. 2013 à 06:40
Nan mais sa c'est pas grave!
la cellule A1 feuil1 est egale à =feuil2!A10
change la valeur A10 de la feuille 2 et le programme marche dans la feuille 1

Mais comme c'est du bidouillage j'ai utilisé un autre programme où la des cellule clignotent (pour toujours actualiser la feuille 1) c'est pourquoi il me faudrait un programme mieux adapté!
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
15 juil. 2013 à 11:16
Bonjour,

La où je voudrais l'appliquer, il y a 52 feuilles qui modifient 1 cellule et
la cellule A1 feuil1 est egale à =feuil2!A10 et
le programme marche dans la feuille 1 ca ne peut pas aller !!!!!

si formule dans A1 feuil1 (=feuil2!A10):
Excel met a jour la cellule mais ne declanche pas l'evenement worksheet_change car la feuille n'est pas active.

Ou en etes-vous dans la programmation VBA excel ???????
0
lixil Messages postés 33 Date d'inscription dimanche 4 novembre 2012 Statut Membre Dernière intervention 1 mars 2014
16 juil. 2013 à 18:02
si formule dans A1 feuil1 (=feuil2!A10):
Excel met a jour la cellule mais ne declanche pas l'evenement worksheet_change car la feuille n'est pas active.

Oui voila c'est exactement sa mon problème!!
En passant par le programme des cellules qui clignotent j'arrive à declencher l'évenement worrksheet_change mais j'aimerai un programme mieux adapté!!!

Et j'ai aucune connaissance en programmation VBA excell! je sais que bidouiller.
0