XL 2019 Copier-coller en fonction de la couleur en VBA

BV74

XLDnaute Nouveau
Bonjour à tous et d'avance merci pour vos conseils

Je dispose d'une feuille de calcul (présences) qui regroupe le nom et prénom de plusieurs salariés dans la colonne A et un temps de travail en heure sur la colonne C
Les noms et prénoms sont triés par équipe, chaque équipe étant différentiée par une couleur de fond : exemple équipe 1 (255.255.0), équipe 2 (255.120.120)...
Chaque équipe est sous la responsabilité d'un chef d'équipe. Chaque semaine les salariés changent

Ce que je souhaiterais faire c'est partir de ma feuille présence (qui regroupe tout le monde) et copier-coller en fonction d'une couleur les cellules "A4:C?"
et les coller dans la bonne feuille de calcul.
Exemple :
toutes les cellules rouges sont collées dans feuille "pascal"
toutes les cellules vertes sont collées dans feuille "michel"
toutes les cellules orange sont collées dans feuille "aline"
...
il y a 6 feuilles de calculs nommées en destination

je sais que je dois jongler avec les syntaxes suivantes :

VB:
End(xlUp) et interior.color

mais je ne sais pas par où commencer
Merci de votre indulgence
Bonne journée
 

job75

XLDnaute Barbatruc
Bonjour BV74, fanfan38,

On peut utiliser le filtre couleur :
VB:
Sub Transfert()
Dim c As Range, w As Worksheet
On Error Resume Next 'si une feuille n'existe pas
With [A1].CurrentRegion
    For Each c In [G1].CurrentRegion
        Set w = Nothing
        Set w = Sheets(CStr(c))
        w.Columns("A:C").Clear 'RAZ
        .AutoFilter Field:=1, Criteria1:=c.Interior.Color, Operator:=xlFilterCellColor
        .Copy w.Cells(1)
    Next
    .AutoFilter Field:=1
End With
End Sub
Edit : j'avais oublié Set w = Nothing

A+
 

Pièces jointes

  • Filtre couleur(1).xlsm
    20.2 KB · Affichages: 8
Dernière édition:

Discussions similaires

Réponses
14
Affichages
328

Statistiques des forums

Discussions
314 710
Messages
2 112 114
Membres
111 428
dernier inscrit
Andrya