macro pour selectionner uniquement des cellules de couleurs dans une colonne

michel.dupont

XLDnaute Occasionnel
Bonjour
Comment parvient-on par macro dans plage par exemple a5:a100 à sélectionner uniquement les cellules en police rouge et les copier pour les coller dans une seconde feuille par exemple à partir de la cellule A8
merci de votre aide
Michel
 

Staple1600

XLDnaute Barbatruc
Re : macro pour selectionner uniquement des cellules de couleurs dans une colonne

Bonjour à tous

michel.dupont
Tu as essayé d'adapter les codes VBA fournis dans cet autre fil que tu as initié ?
https://www.excel-downloads.com/thr...n-txt-a-partir-dune-cell-de-reference.225289/
Car on y trouve de quoi solutionner cette question-ci...

Voici par exemple une façon de faire (test OK sur mon PC)
Code vb:
Sub a()
Dim c As Range, cellrouge$
For Each c In Selection 'ici remplacer Selection par la plage concernée
If c.Font.ColorIndex = 3 Then
cellrouge = cellrouge & "," & c.Address
End If
Next
Range(Mid(cellrouge, 2, Len(cellrouge) - 1)).Select
Selection.Copy Feuil2.Range("A1") ' modifier la plage de destination
End Sub





je te laisse faire les adaptations nécessaire pour que cela fonctionne avec la plage A5:A500 recopiée en A8 sur la feuille 2
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : macro pour selectionner uniquement des cellules de couleurs dans une colonne

Bonsoir Michel, Jean-Marie,

Sur Excel 2010 le filtre automatique permet de filtrer les couleurs :

Code:
Private Sub Worksheet_Activate()
Dim source As Range, dest As Range, coul
Set source = Feuil1.[A4:A100] 'Codename de la feuille
Set dest = [A7]
coul = RGB(255, 0, 0) 'rouge
Application.ScreenUpdating = False
dest.Resize(Rows.Count - dest.Row + 1).Clear 'RAZ
With source
  .AutoFilter 1, coul, xlFilterFontColor 'filtre automatique
  .SpecialCells(xlCellTypeVisible).Copy dest
  .Parent.AutoFilterMode = False 'désactive le filtre
End With
End Sub
La macro est dans le code de Feuil2 et se déclenche quand on active la feuille.

Fichier joint.

Bonne nuit et A+
 

Pièces jointes

  • Filtre couleur(1).xlsm
    17 KB · Affichages: 52
  • Filtre couleur(1).xlsm
    17 KB · Affichages: 44
  • Filtre couleur(1).xlsm
    17 KB · Affichages: 50

job75

XLDnaute Barbatruc
Re : macro pour selectionner uniquement des cellules de couleurs dans une colonne

Bonjour Michel, Jean-Marie, le forum,

S'il y a des formules il peut être nécessaire de prendre des précautions avec une colonne auxiliaire.

C'est le cas de ce fichier (2) où toutes les cellules filtrées sont en tête de liste.

Testez-le avec la macro du post #3 et avec celle-ci :

Code:
Private Sub Worksheet_Activate()
Dim source As Range, dest As Range, coul
Set source = Feuil1.[A4:A100] 'CodeName de la feuille
Set dest = [A7]
coul = RGB(255, 0, 0) 'rouge
Application.ScreenUpdating = False
dest.Resize(Rows.Count - dest.Row + 1).Clear 'RAZ
source(, 2).EntireColumn.Insert 'colonne auxiliaire, les formats sont copiés
With source.Columns(2)
  .Value = source.Value 'copie les valeurs
  .AutoFilter 1, coul, xlFilterFontColor 'filtre automatique
  .SpecialCells(xlCellTypeVisible).Copy dest
  .EntireColumn.Delete
End With
End Sub
A+
 

Pièces jointes

  • Filtre couleur(2).xlsm
    18 KB · Affichages: 49
  • Filtre couleur(2).xlsm
    18 KB · Affichages: 47
  • Filtre couleur(2).xlsm
    18 KB · Affichages: 40

Discussions similaires

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa