Lier 2 cellules de 2 onglets différents VBA

ChaGal -  
via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour

j'essaye de lier 2 cellules de 2 onglets différents. L'idée c'est lier la couleur entre 2 cellules (la cellule initiale qui donne la couleur est sous format conditionné).

Auriez-vous une idée?

par avance merci beaucoup !

Charlotte

2 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     

    Bonsoir

    En VBA pas possible car la macro ne peut reconnaître une couleur dépendant d'une mise en forme conditionnelle

    mais il suffit de mettre la même condition de mise en forme dans la 2eme feuille mais condition qui s'applique sur la cellule de la 1ere feuille

    Par ex si les 2 cellules liées sont   B2 feuille 1 et C5 feuille 2, que la cellule B2 se colore en rouge si la valeur est négative, il sufit dans la MFC de C5 feuille 2 d'utiliser la formule  =Feuil1!B2<0

    Cdlmnt

    Via


    0
  2. ptitpanda Messages postés 67 Statut Membre 8
     

    Bonjour Chagal et via55

    En fait si, il y a un moyen en vba de connaître la couleur du à une MEFC:

    Si tu veux par exemple reproduire en sur la Feuil2 D6 la couleur de la MEFC de la Feuil1 B6, tu peux le faire comme cela:

    Sheets("Feuil2").Range("D6").Interior.Color = Sheets("Feuil1").Range("B6").DisplayFormat.Interior.Color

    "Range("B6").DisplayFormat.Interior.Color" permet de connaître la couleur de la cellule dû à une mise en forme conditionnelle.

    A bientôt

    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       

      Merci ptitpanda

      Tu m'apprends quelque chose de bien utile que je connaissais pas

      Chagal tu peux donc par macro copier la couleur d'une cellule de feuille 1 à chaque changement de celle ci vers une cellule définie de feuille 2

      Exemple pour copier la couleur de B2 Feuil1 en F5 Feuil2 macro à mettre dans le worksheet de Feuil1

      Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect(Target, Range("B2")) Is Nothing Then Sheets("Feuil2").Range("F5").Interior.Color = Range("B2").DisplayFormat.Interior.Color
      End Sub

      Cdlmnt

      Via

      0