Filtre qui garde la mise en page

Grek

XLDnaute Nouveau
Bonjour,

Je souhaite filtrer les données de ma feuille excel sur base d'une cellule de couleur (j'ai rejouter le nom de la couleur dans la même couleur que le fond de la cellule, plus facile pour l identifier je pense).
Pas de problème pour le faire avec un filtre automatique, malheureusement ce dernier ne garde pas ma mise en page (des zones de qq lignes avec des cellules groupées, etc).
Sur base du fichier ci-joint pourriez vous me conseiller une manière de procéder qui garderait ma mise en page ? J ai ajouté des cases à cocher pour chosir la couleur à afficher.

Merci pour votre aide,

Gregory
 

Pièces jointes

  • filter report.xls
    20.5 KB · Affichages: 71
  • filter report.xls
    20.5 KB · Affichages: 68
  • filter report.xls
    20.5 KB · Affichages: 66

Grek

XLDnaute Nouveau
Re : Filtre qui garde la mise en page

Porcinet, je viens de regarder ta solution de plus prêt, et bien que ça fonctionne parfaitement, pourrais tu m expliquer comment tu as proceder ?
Je n arrive pas a selectionner les boutons d options pour voir ce qu il y a derrière.

Encore merci,

Greg
 

porcinet82

XLDnaute Barbatruc
Re : Filtre qui garde la mise en page

Salut,

Pour sélectionner les OptionButton, tu vas dans Affichage/Barres d'outils et tu sélectionnes Visual Basic. Ensuite dans cette barre d'outils, tu click sur l'icone verte en forme d'équerre et la tu pourras bouger les OptionButton.

Pour voir le code qu'il y a derrière, il faut aller dans Visual Basic, c'est a dire en faisant Alt+F11 ou en faisant click droit sur l'onglet de la feuille et en choisissant Visualiser le code.
Si tu veux du détail sur le code, refais moi signe.

@+
 

Grek

XLDnaute Nouveau
Re : Filtre qui garde la mise en page

Merci pour les infos

Ce serait sympa si tu pouvais me "traduire" le code VBA ci dessous en français. J'ai qq bases mais il dépasse deja mes compétences...

Je vois que dans le code on considère que chaque "zone" de couleur à la même taille (même nombre de ligne), comme c est effectivement le cas dans mon exemple.
Comment faire pour que la macro fonctionne avec un nombre de ligne différent pour chaque zone ? Elle peut identifier le dbut par le nom de la couleur mais il faudrait trouver qq chose qui lui dise que c est terminer..

Thanks.

Dim i%, k%

Application.ScreenUpdating = False
Rows("1:65536").EntireRow.Hidden = False
For i = 15 To 84 Step 7
If Not Cells(i, 7).Value = "GREEN" And IsEmpty(Cells(i, 7).Value) = False Then
For k = 1 To 7
Rows(i + k - 1).EntireRow.Hidden = True
Next k
End If
Next i
Application.ScreenUpdating = True
 

Discussions similaires

Statistiques des forums

Discussions
312 429
Messages
2 088 354
Membres
103 824
dernier inscrit
frederic.marien@proximus.