Extraxtion couleur cellule

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 !

natacha

XLDnaute Occasionnel
Bonjour à tous ,
apres avoir rechercher sur le forum, je souhaiterais (apres une MFC), en fonction de la couleur d'une cellule copier les données et les intégrées dans un nouvel onglet.
Je joints un fichier pour plus d'explication. Merci d'avance
 

Pièces jointes

Re : Extraxtion couleur cellule

Bonsoir Natacha, bonsoir le forum,

Quand tu utilises une MFC la couleur renvoyé par la cellule n'est pas celle de la MFC mais celle qu'avait la cellule avant la MFC. Regarde la Macro2 du Module2.
C'est pour cela qu'il faut utiliser non pas la couleur de la cellule mais la condition qui a coloré cette cellule. Regarde la Macro1 du Module2...
Code:
Sub Macro1()
Dim cel As Range 'déclare la variable cel (CELlule)
Dim ong As Worksheet 'déclare la variable ong (ONGlet)
Dim dest As Range 'déclare la variable dest (DESTination)
 
With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1"
    'boucle sur toutes les cellules éditées cel de la colonne F
    For Each cel In .Range("F5:F" & .Range("F65536").End(xlUp).Row)
        'si il y a une date en colonne M, définit l'onglet (ROUGE) et va à l'étiquette "suite"
        If cel.Offset(0, 7).Value <> "" Then Set ong = Sheets("ROUGE"): GoTo suite
        'si il y a une date en colonne L, définit l'onglet (JAUNE) et va à l'étiquette "suite"
        If cel.Offset(0, 6).Value <> "" Then Set ong = Sheets("JAUNE"): GoTo suite
        'si il y a une date en colonne I, définit l'onglet (VERT) et va à l'étiquette "suite"
        If cel.Offset(0, 3).Value <> "" Then Set ong = Sheets("VERT")
 
suite: 'étiquette
        'condition : si F5 est vide
        If ong.Range("F5") = "" Then
            'définit E5 comme cellule de destination
            Set dest = ong.Range("F5").Offset(0, -1)
        Else 'sinon
            'définit la première cellule vide rencontrée an colonne E
            Set dest = ong.Range("F65536").End(xlUp).Offset(1, -1)
        End If 'fin de la condition
        'copie et colle la ligne
        Range(cel.Offset(0, -1), cel.Offset(0, 7)).Copy dest
    Next cel 'prochaine cellule de la boucle
End With 'fin de la prise en compte de l'onglet "Feuil1"
End Sub
J'ai mis de l'ordre dans les onglets de couleur pour qu'ils aient la même structure...
 

Pièces jointes

Re : Extraxtion couleur cellule

Bonsoir Natacha, bonsoir le forum,

D'accord mais dès que tu saisies où ? Ne risques-tu pas de te retrouver avec les lignes répétées plusieurs fois ?
Peut-être un bouton serait plus judicieux et pour éviter de distribuer les donnes plusieurs fois il faudrait mettre un couleur sur les données déjà distribuées... Mais demain car là je vais au dodo...
 
Re : Extraxtion couleur cellule

J'ai encore une toute petite question concernant la macro, en fait je souhaiterais savoir comment faire quand je lance ma macro pour supprimer les données dans les feuilles rouge, vert et jaune. De plus la macro ne fonctionne pas sur l'oglet vert, car même s'il n' y a pas de donnée dans la colonne I , les lignes apparaissent dans l'onglet vert.
Je sais pas si c'est tres Claire
 
- 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

Réponses
3
Affichages
211
Réponses
6
Affichages
278
Réponses
4
Affichages
217
  • Question Question
Microsoft 365 Graphique
Réponses
3
Affichages
205
Retour