Si À 1 = (de couleur rouge) alors déplacer dans feuille 2

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Spurnelle

XLDnaute Nouveau
Bonjour a tous

J'ai un petit problème avec excel je ne trouve pas comment je peux déplacer une ligne entière d'un tableau si la première cellule de celle ci est de couleur rouge ?

C'est pour mes recettes si une facture est réglée en août alors elle se met en rouge (ça c'est bon mise en forme conditionnelle) mais si elle est rouge alors je veux qu'elle se mette dans le tableau d'août, (sur autre feuille).

J'espère que je me suis exprimée asser clairement.

Merci pour vos réponses
 
Re : Si À 1 = (de couleur rouge) alors déplacer dans feuille 2

Bonjour Spurnelle, Brigitte, Carcharodon-carcharias, le forum,

Bienvenue sur XLD Spurnelle! 😀

Ci-joint un exemple de ce que je pense avoir compris du problème...

J'ai mis une MFC dans la colonne A de la feuille 1 "Factures". Lorsque le date de la cellule est dans le passé, alors la MFC bascule en couleur rouge. Et à chaque changement de date dans cette colonne A, les lignes en MFC rouge sont copiées automatiquement vers la feuille 2 "Copie" avec une macro évènementielle "Worksheet_Change".

VB:
Private Sub Worksheet_Change(ByVal Target As Range)

    Set isect = Application.Intersect(Target, Columns("A:A"))
    CouleurMFCo = 0
    CouleurMFC Target, 0
    If Not isect Is Nothing And CouleurMFCo = 3 Then
        Worksheets("Copie").Range("A2:D" & Worksheets("Copie").Rows.Count).Clear
        ligne = 2
        Dim cell As Range
        For Each cell In Worksheets("Factures").Range("a4:a" & Worksheets("Factures").[A4].End(xlDown).Row)
            CouleurMFCo = 0
            CouleurMFC cell, 0
            
            If CouleurMFCo = 3 Then
                Worksheets("Factures").Rows(cell.Row).Copy Destination:=Worksheets("Copie").Range("A" & ligne)
                ligne = ligne + 1
            End If
        Next cell

    End If

End Sub

Le test couleur de la MFC:

VB:
Public CouleurMFCo

Public Sub CouleurMFC(RG As Range, Optional Mode As Byte = 0)
Dim e As Long, i As Byte, LoTest As Boolean
Dim LoMFC As FormatCondition
    Application.Volatile
    'boucle sur le nombre de condition(s)
    'Si pas de MFC .FormatConditions.Count renvoi 0
    For i = 1 To RG.FormatConditions.Count
        Set LoMFC = RG.FormatConditions(i)
        If LoMFC.Type = xlCellValue Then
        'tester le type de la formule entrée
            Select Case LoMFC.Operator
            Case xlEqual
                LoTest = RG = Evaluate(LoMFC.Formula1)
            Case xlNotEqual
                LoTest = RG <> Evaluate(LoMFC.Formula1)
            Case xlGreater
                LoTest = RG > Evaluate(LoMFC.Formula1)
            Case xlGreaterEqual
                LoTest = RG >= Evaluate(LoMFC.Formula1)
            Case xlLess
                LoTest = RG < Evaluate(LoMFC.Formula1)
            Case xlLessEqual
                LoTest = RG <= Evaluate(LoMFC.Formula1)
            Case xlNotBetween
                LoTest = (RG < Evaluate(LoMFC.Formula1) Or RG > Evaluate(LoMFC.Formula2))
            Case xlBetween
                LoTest = (RG >= Evaluate(LoMFC.Formula1)) And (RG <= Evaluate(LoMFC.Formula2))
            End Select
            If LoTest Then
                'Peu ajouter d'autre format si nécessaire,
                'comme la bordure, la police etc..
                Select Case Mode
                Case 0
                    CouleurMFCo = LoMFC.Interior.ColorIndex
                Case 1
                    CouleurMFCo = LoMFC.Interior.Color
                End Select
                Exit Sub
            End If
        End If
    Next i
    CouleurMFCo = 0
End Sub

En espérant apporter un peu d'eau au moulin...

Bonne journée 🙂
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour