Copie d'un changement de fond de cellule

Résolu
JoFa -  
 JoFa -
Bonjour à tous,

Je cherche à appliquer dans une colone particulière la couleur de fond d'une cellule au moment ou ou cette dernière change, je m'explique.

J'ai besoin de mettre à jour des indicateurs de couleur dans une cellule donnée.
Je travaille sur mes cellules jusqu'au moment ou sur la même ligne j'arrive à appliquer un fond à une cellule (résultat d'une fonction).
Lorsque le fond de la cellule (cette cellule est obligatoirement active lorsqu'elle change de fond) de la ligne change, la cellule donnée de la même ligne doit réccupérer ce fond de couleur.

J'ai essayé avec les objets "cellformat" et les propriétés "change" mais rien à faire.

J'aimerai aussi que la mise à jour soit "automatique"

Merci d'avance pour votre aide.
Configuration: Windows XP
Internet Explorer 6.0

5 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Avec excel ?
    si oui,
    Cells(ActiveCell.Row, "la cellule donnée ").Interior.ColorIndex = _
    ActiveCell.Interior.ColorIndex
    A+
    0
  2. JoFa
     
    Bonsoir,

    Oui avec Excel.

    j'ai fait le code suivant pour lancer au moment où la couleur de fond d'une cellule change et lance le changement de la cellule donné.

    Derrière la feuille j'ai codé:

    Private Sub cellformat_change(ByVal target As Range)

    Cells(ActiveCell.Row, 11).Interior.ColorIndex = ActiveCell.Interior.ColorIndex

    end sub

    mais rien ne se passe ???

    Qu'est ce qui cloche?

    Merci pour ton morceau de code qui raccourci un peu le mien ! :)
    0
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Tu a Excell 2007 ? Parcque j'ai pas cet événement ?
    (2000)
    Mais fait un peu...
    Private Sub cellformat_change(ByVal target As Range) 
    dim D as string
    D = Target.address
    stop
    'Ensuite tu passe la souris sur D et ti verra l'adresse de la cellule.
    'Si c'est la bonne cellule tu peu faire...
    Cells(Target.Row, 11).Interior.ColorIndex = Target.Interior.ColorIndex 
    'Cells(ActiveCell.Row, 11).Interior.ColorIndex = ActiveCell.Interior.ColorIndex 
    
    end sub 

    En général, Target intervient trop tard mais j'ai un moyen de palier à ça.
    Tu dit.
    EDIT:
    Voir Cette astuce
    elle permet de connaître l'état de la cellule APRES qu'elle ai été quittée, à toi de l'adapter pour que ce soit la couleur.
    0
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    la macro adaptée mais la couleur ne change que quand tu tape Enter ou que tu quitte la cellule
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Static AncAdress As String
    Static AncCoul As Integer
    
        If AncAdress <> "" Then 'pour 1ère initialisation.
            If AncCoul <> Range(AncAdress).Interior.ColorIndex Then
                Cells(Range(AncAdress).Row, 11).Interior.ColorIndex = Range(AncAdress).Interior.ColorIndex
                'Stop
            End If
        End If
        AncAdress = Target.Address
        AncCoul = Target.Interior.ColorIndex
    End Sub

    Tu dit...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. JoFa
     
    hello a tous,

    Merci pour ton aide lermite222, ton dernier code correspond exactement à ce que je voulais !!!

    :) ... une journée qui commence tôt mais bien !!
    0