XL 2013 Bordure sur lignes filtrées

Chris401

XLDnaute Accro
Bonsoir à tous

J'ai besoin de vos lumières pour le fichier joint.

Quand les lignes ne sont pas filtrées, la bordure est appliquée à chaque changement de date (colonne A)

J'essaye vainement de trouver le code qui mettrait une bordure à chaque changement de numéro de semaine (colonne C) sur lignes filtrées (Filtre appliqué en colonne B - Choix d'un seul nom)

Merci pour votre aide.

Amicalement
Chris
 

Pièces jointes

  • BorduresSurFiltre.xlsm
    54.2 KB · Affichages: 56

Zon

XLDnaute Impliqué
Re : Bordure sur lignes filtrées

Bonjour,

Cette ligne ne peut pas fonctionner :


If cel.Value = cel.Offset(1, 0).Value Is Nothing Then


soit

If cel.Value = cel.Offset(1, 0).Value Then 'test de la cellule active avec la ligne de dessous

soit juste si quelque chose de présent dans ligne de dessous

If not cel.Offset(1, 0) Is Nothing Then

soit un autre test que tu aimerais faire ???



A+++
Zon
 

Chris401

XLDnaute Accro
Re : Bordure sur lignes filtrées

Bonjour zon et merci de m'avoir lu.

Le test que je veux faire : une fois les lignes filtrées dans la colonne B on regarde la colonne C. Dès que la valeur du dessous est différence de celle du dessus la bordure est appliquée.

Peux-tu me corriger le code STP ?

Cordialement
Chris

Exemple de ce que j'attends : Filtre sur NOM1
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    37.6 KB · Affichages: 43
  • Capture.JPG
    Capture.JPG
    37.6 KB · Affichages: 45

Modeste

XLDnaute Barbatruc
Re : Bordure sur lignes filtrées

Bonjour chris401, zon,

Pas sûr d'avoir bien compris (et moins sûr encore qu'avec un nombre de lignes plus grand, la "lisibilité" ne sera pas desservie par un temps d'exécution envahissant), mais bon ...
Dans le bloc Else teste les quelques adaptations ci-dessous:
VB:
temp = 3
Set Plage = Range("C3:C" & Derlg)
For Each cel In Plage.SpecialCells(xlCellTypeVisible)
    If cel <> Cells(temp, 3) Then
    With Range(Cells(temp, 1), Cells(temp, [NbCol]))
       .Borders(xlEdgeBottom).LineStyle = 5
       .Borders(xlEdgeBottom).Weight = 4
       .Borders(xlEdgeBottom).ColorIndex = 3
    End With
    End If
    temp = cel.Row
Next cel
 

job75

XLDnaute Barbatruc
Re : Bordure sur lignes filtrées

Bonjour Chris401, Zon, Modeste,

Mettre des bordures sur les plages filtrées me paraît assez laborieux : il faut du VBA.

Alors qu'il est bien simple de les colorer par Mise en forme conditionnelle (MFC) :

Code:
=ET(ESTNUM($A1);SOUS.TOTAL(3;$C:$C)<NBVAL($C:$C);MOD($C1;2))
=ET(ESTNUM($A1);SOUS.TOTAL(3;$C:$C)<NBVAL($C:$C);NON(MOD($C1;2)))
Avec la fonction SOUS.TOTAL la MFC n'est appliquée que s'il y a filtrage.

Fichier joint.

A+
 

Pièces jointes

  • CouleursSurFiltre(1).xlsx
    43.8 KB · Affichages: 26
Dernière édition:

job75

XLDnaute Barbatruc
Re : Bordure sur lignes filtrées

Re,

On peut aussi appliquer les couleurs à partir des dates quand le tableau n'est pas filtré :

Code:
=ESTNUM($A1)*((SOUS.TOTAL(3;$A:$A)=NBVAL($A:$A))*MOD($A1;2)+(SOUS.TOTAL(3;$A:$A)<NBVAL($A:$A))*MOD($C1;2))

=ESTNUM($A1)*((SOUS.TOTAL(3;$A:$A)=NBVAL($A:$A))*NON(MOD($A1;2))+(SOUS.TOTAL(3;$A:$A)<NBVAL($A:$A))*NON(MOD($C1;2)))
Fichier (2).

A+
 

Pièces jointes

  • CouleursSurFiltre(2).xlsx
    40 KB · Affichages: 33
Dernière édition:

Discussions similaires

Réponses
7
Affichages
347

Statistiques des forums

Discussions
312 196
Messages
2 086 099
Membres
103 116
dernier inscrit
kutobi87