Mise à jour d'une cellule via une autre feuille dans le même fichier

codefernand - 6 avril 2013 à 05:14
 codefernand - 10 avril 2013 à 15:19
Bonjour à tous,

J'ai une macro qui en sorte que quand une cellule change de contenu la couleur de la cellule change en fonction de celle-ci et ça fonctionne bien, mais la mise à jour ne se fait pas, probablement dû au fait que l'information de la cellule provient d'une autre feuille. Quand je fais un enter sur la cellule en question la couleur se mais à jour comme prévu. Donc ces vraiment qu'il ne voie pas le changement qui se fait sur l'autre feuille à sa feuille.

Avez-vous une idée ou une solution ?

30 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 avril 2013 à 08:42
Et zut ! corrige le 1er code (résidus de mes essais) ====>>
qui devient, pour toi :
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim colorons As String, couleur As Integer
    If Not Intersect(Target, Range("R14,S13,T14,U13")) Is Nothing Then
       Select Case Target.Address(False, False)
           Case "R14":  colorons = "B22:B24"
           Case "S13":  colorons = "C13:C15"
           Case "T14":  colorons = "D22:D24"
           Case "U13":  colorons = "E13:E15"
       End Select
       Select Case Target.Text
         Case "Gscc": couleur = 40
         Case "": couleur = -4142
       End Select
       Range(colorons).Interior.ColorIndex = couleur
    End If
End Sub



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 avril 2013 à 20:30
Re-coucou,
Lorsque tu seras revenu dans cette discussion et [u]après (bien sûr) avoir testé ce que je t'ai proposé
/u, je reviendrai sur ce que j'ai dit plus haut, à savoir :
Deux solutions, dans un tel cas. Les deux présentent des avantages et des inconvénients.

suivi (plus loin) de :
mais au prix, alors, de lenteurs ajoutées

Cette seconde solution est prête et fonctionnelle chez moi. Elle permet de ne rien toucher, certes, à ta conception (tes formules), est peu gourmande en code, mais bien évidemment source de lenteurs ajoutées, comme dit.
Si tu la veux, je te la donne, mais serai bien le dernier à te la conseiller (je préfère en règle générale un code plus lourd et une exécution plus rapide à un code plus léger mais plus lent en exécution).
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Bonjour,
Merci pour le code.
Je n'aurais probablement pas le temps de le tester ce soir, mais le plus tôt possible et je t'en redonnent des nouvelles bientôt.
Merci.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 avril 2013 à 06:31
D'accord.
J'ai par ailleurs voulu m'amuser de bon matin === >> encore une autre solution (assez rigolote).
Avec cette solution :
- tu laisses intactes tes formules sur la feuille "resul"
- tu ne mets que ce code sur la feuille "HORAIRE 1"
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim i As Integer, j As Integer, haha, hoho
  If Not Intersect(Target, Range("AH7,AJ6,AL7,AN6")) Is Nothing Then
     haha  = Array("AH7", "B22:B24", "AJ6", "C13:C15", "AL7", "D22:D24", "AN6", "E13:E15")
     hoho = Array("Gscc", 40, "", -4142)
     For i = 0 To UBound(haha) Step 2
       If Not Intersect(Target, Range(haha(i))) Is Nothing Then
         For j = 0 To UBound(hoho) Step 2
           If Target.Value = hoho(j) Then
             Worksheets("resul").Range(haha(i + 1)).Interior.ColorIndex = hoho(j + 1)
             Exit For
           End If
         Next
         Exit For
       End If
     Next
  End If
End Sub


J'arrête là ou j'en invente d'autres ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0

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

Posez votre question
Merci beaucoup pour le temps que tu consacres à mon problème, qui visiblement ne les pas pour toi car les deux macros fonctionne parfaitement dans un nouveau fichier.

Malheureusement, il ne fonctionne pas dans le fichier original.

Quand tu me disais l'importance d'être très complet et précis.

D'où TOUJOURS la nécessité d'être très complet et précis


Encore une fois je n'ai pas été à la hauteur.

J'ai compliqué encore une fois les choses. (Peut-être pas pour toi...)
J'ai réalisé que l'information que j'avais écrite était fausse.

1. J'ai une liste déroulante (la même partout) dans plusieurs cellules (voir Horaire1.pdf) ex. : Lundi se retrouve dans la colonne de D5 à D34

2. Ces informations sont retransmises dans d'autres cellules qui se trouvent dans Horaire1 (voir Horaire1 autre vue) au (AH28:AH37) pour le Soir via une formule pour la cellule AH28 (=D7) à AH37 (=D34)

3. Même chose pour le PM qui se trouve au (AN18:AN27) mais les seules informations qui m?intéressent sont ceux du : Lundi soir, Mardi Pm, Mercredi Soir et le jeudi PM d'où la récupération via la cellule AH7 pour lundi soir avec la formule : ( =SI(ESTNA(RECHERCHEV("Gscc"; AH28: AH37; 1; FAUX));""; RECHERCHEV("Gscc"; AH28: AH37; 1; FAUX))).

4. Même procéder pour les cellules AJ6, AL7 et AN6

Je ne sais pas si je vais être plus clair comme ça ou je vais compliquer les choses davantage.

J'ai bien essayé une bonne partie de la nuit d'hier à changer les cellules mais sans succès.

Ps. comment te faire parvenir les images en PDF lorsque je clic sur l'icone Picture il veux un lien URL.

Merci à l'avance.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
9 avril 2013 à 07:08
Tu mesures donc (c'est souvent le cas) l'absolue nécessité d'être complet et précis.
Ceci étant dit : mon code du lundi 8 avril 2013 à 06:31:25 ne touche, lui, absolument pas à tes formules !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
9 avril 2013 à 07:38
Je ne vois pas tes images...
Maintenant : il se peut que je n'ai rien compris à tes explications quelque peu embrouillées et qui ne permettent pas d'avoir une idée suffisamment claire techniquement parlant.
Essaye de répondre à cette question (et uniquement à celle-là, sans ajouter quoi que ce soit d'autre) :

Sur ta feuille "résul" ; ton appli sait-elle TOUJOURS :
- identifier les cellules "déclenchantes" (ex : R14)
et
- déterminer les plages à colorier correspondantes (ex B22:B24)

si oui : comment, très exactement
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Bonjour,

Quelle est la meilleure façon de te faire parvenir les images.

Ce qui est des cellules de la feuille "Resul" (même si elle ne s'appelle pas vraiment comme cela dans mon fichier car la feuille1 change de nom avec la date.)rien ne change de ce que je t'avais dit.

Je pense vraiment que les images seraient bénéfiques.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
9 avril 2013 à 10:44
Il te faut pour cela :
1) déposer ces images sur un site de dépôt de ton choix, en évitant ceux que les "protections sérieuses" condamnent (donc, pas cijoint.com, hein ...)
2) cliquer sur l'icône "image" 5ème en partant de la gauche et y mettre ton image.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Espérant que les photos puissent contribuer à rendre mes courriels plus clairs.

https://plus.google.com/photos/102677921559408598276/albums/5864870858094251569?authkey=CP2vlY_c34GjpwE

Merci.

Fernand
0
Rejoignez-nous