Macro permettant de colorer une cellule d'aprés une autre

Résolu
ched64 Messages postés 54 Statut Membre -  
ched64 Messages postés 54 Statut Membre -
Bonjour à tous,

Pour mon travail, j'utilise un export Excel venant d'un outil X. J'ai créé des tableaux croisés dynamiques d'aprés ce dernier pour réorganiser mes données et mieu y voir.
Des macros sont déjà présentes dans mon fichier pour faire les mises à jour en un click lorsqu'un nouvel export Excel est réalisé.

Mon problème est le suivant: j'ai des données en en-tete (chantiers) et un calendrier avec des chiffres dedans en fonction des données, les chantiers peuvent être réalisés de Jour (J) ou de Nuit (N).

J'aimerai que lorsque dans la colonne G est indiqué "N" et qu'il y a des valeurs dans le calendrier, les cellules en question deviennent BLEU.

Voici un exemple de fichier pour mieu comprendre:
https://www.cjoint.com/?DBrk7ODcx2O

En espérant que quelqu'un pourra m'aider :)
Merci

10 réponses

  1. ched64 Messages postés 54 Statut Membre
     
    Bonjour,

    Merci de ta réponse, j'avais utilisé une formule qui ressemble à la tienne pour mon test, cependant il faut que j'écrive cela obligatoirement dans VBA.

    J'ai une macro "mise en forme du tableau" avec déjà plusieurs critères qui vient se placer par dessus la Mise en forme conditionnelle...à chaque fois que je charge un nouveau fichier, la mise en forme n'est donc plus prise en compte..

    Je cherche donc une solution par VBA...pour l'inclure dans la macro "mise en forme du tableau"
    0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Quand vous "chargez" un nouveau fichier, il est toujours "placer" comme celui de votre exemple: J1 toujours au meme endroit et les -3,-4 arrivent du fichier "charge"
    0
  3. ched64 Messages postés 54 Statut Membre
     
    Le problème est le suivant, j'ai un bouton qui me permet de"charger" le nouveau fichier, et en suivant un autre qui me permet de"mettre a jours les tableaux croisés dynamique".

    La mise en forme marche pour le moment, mais en mettant "mettre a jours les tableaux croisés dynamique", elle n'existe plus aprés. la mise en forme remplace tout ce qui existant y compris la mise en forme.

    C'est pour cette raison que je suis obligé de passer par une macro, car ce bouton mise à jour est indispensable.... donc pas évident
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Certainement, mais vous ne repondez pas a la question:
    quand vous chargez un nouveau fichier, est-ce que le jour J1 reste au meme endroit (meme cellule) que le fichier precedent ??
    0
  6. ched64 Messages postés 54 Statut Membre
     
    Ah oui excusez moi j'ai mal compris la question...
    En chargeant un nouveau fichier, le J1 reste bien au même endroit.
    0
  7. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Dans le fichier que vous avez mis a dispo, le premier jour du mois J1 (mars) ce trouve en H4. Pour les autres fichiers charges est-ce que c'est pareil, puisque vous faites une mise en forme
    0
  8. ched64 Messages postés 54 Statut Membre
     
    Alors le fichier export (extrait de l'outil à le J1 en W5) et une fois la mise en forme effectuée, il se trouvera toujours en H4.

    Une fois la mise en forme effectuée il sera toujours en H4 pour n'importe quel mois
    0
  9. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Je regarde la chose.

    A+
    0
  10. ched64 Messages postés 54 Statut Membre
     
    Re,

    Pour ne pas vous faire perdre de temps, j'ai réussi en bataillant a trouver quelque chose qui à l'air de fonctionner.
    Je sais pas si le language est correcte mais pour le moment ça marche.

    'Coloration des lignes Nuits
    numlgn = 5
    Do Until numlgn = NbLign - 1
    Cells(numlgn, 7).Select

    If Left(Cells(numlgn, 7), 1) = "N" Then
    Range(Cells(numlgn, 7), Cells(numlgn, nbcol)).Font.Color = MonBlanc

    For Col_Nuit = 7 To nbcol
    If Cells(numlgn, Col_Nuit) <> "" Then
    Cells(numlgn, Col_Nuit).Interior.Color = MonBleuNuit
    End If
    Next
    End If
    numlgn = numlgn + 1

    Loop

    Merci beaucoup en tout cas.
    0