Effectuer un programme automatiquement 2
Résolu
lixil
Messages postés
33
Date d'inscription
Statut
Membre
Dernière intervention
-
lixil Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
lixil Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Effectuer un programme automatiquement 2
- Supercopier 2 - Télécharger - Gestion de fichiers
- Comment lancer un programme automatiquement au démarrage de windows - Guide
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Forcer la fermeture d'un programme - Guide
28 réponses
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+
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+
Bonjour,
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 .
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 SubA+
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 .
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour l'ermite222
ton programme fonctionne mais que sur la feuille active.
c'est pareil que mon premier programme (en plus sophistiquer!!)
ton programme fonctionne mais que sur la feuille active.
c'est pareil que mon premier programme (en plus sophistiquer!!)
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
S'il y a des feuilles à exclure tu dis.
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.
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é.
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é.
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+
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+
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
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
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+
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+
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 ???
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 ???
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!
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!
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 ?????????????????????????
ça commence à...
C'EST QUOI EXACTEMENT QUE TU VEUX ?????????????????????????
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.
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.
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
Voila le programme : https://www.cjoint.com/?0GomXWNMMev
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 .
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 .
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 !!!!
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 !!!!
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é!
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é!
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 ???????
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 ???????
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.
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.