Mise en forme conditionnelle listview

Tahititin

XLDnaute Occasionnel
Bonjour Le forum,
Avec la précieuse aide de Job75 et Patoq, je dispose d'un formulaire de recherche dans une base de données, accessible à environ 500 utilisateurs réparti sur 2 sites distant. Le fil de discussion étant clos pour ce projet, je me permet d'en créer un nouveau.

Après une période de test, j'ai eu des retours d'utilisateurs pour quelques améliorations, j'ai réussi a en paramétrer quelques une : double click pour l’ouverture des liens (plutôt qu'un simple click), police gras de la listview pour les liens hypertexte .... cependant, Il y a une chose que je n'arrive pas a faire :

La colonne I de ma base de donnée m'indique si les documents sont "en vigueur", "en cours", "en test" ou "supprimé" (je doit impérativement laisser les lignes des documents supprimés pour des raisons de traçabilité et pour éviter la création de doublons). Est-il possible de faire apparaître les documents "en cours" et "en test" en italique (par ex) et les document supprimé en "barré". Les document en vigueur étant d'office en gras-rouge avec les liens hypertexte.

D'avance merci pour votre précieux conseils
 

Pièces jointes

  • SOMMAIRE DES DOCUMENTS QUALITE - essai.xlsm
    533.8 KB · Affichages: 677

Bebere

XLDnaute Barbatruc
Re : Mise en forme conditionnelle listview

bonjour Tahititin
les changements dans le code sont marqués 'ajout Bebere
fait sous excel2003
à bientôt
 

Pièces jointes

  • Sommaire.zip
    467.9 KB · Affichages: 81
  • Sommaire.zip
    467.9 KB · Affichages: 70
  • Sommaire.zip
    467.9 KB · Affichages: 80

job75

XLDnaute Barbatruc
Re : Mise en forme conditionnelle listview

Bonjour Tahititin, Bebere,

Modifier à tout va la mise en forme de la ListView est plus nuisible qu'utile, on finit par s'y perdre.

De toute façon ici il suffit de s'occuper des documents "Supprimé", la mise en forme des autres pouvant rester inchangée.

Pour ceux-ci j'ai simplement ajouté [DOC SUPPRIMÉ] et mis une couleur bleue en colonne "Intitulé".

Nota : il est peut-être possible de mettre une police "Italic" sur les SubItems, en tout cas ce n'est pas évident.

Fichier joint.

A+
 

Pièces jointes

  • SOMMAIRE DES DOCUMENTS QUALITE - essai(1).zip
    471.1 KB · Affichages: 80
Dernière édition:

job75

XLDnaute Barbatruc
Re : Mise en forme conditionnelle listview

Bonjour Tahititin, le forum,

Un peu pour le fun, on peut atteindre les [DOC SUPPRIMÉ] par le clic droit avec cette macro :

Code:
Private Sub ListView1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, _
    ByVal x As stdole.OLE_XPOS_PIXELS, ByVal y As stdole.OLE_YPOS_PIXELS)
Dim i&
If Button = 2 Then 'clic droit
  With ListView1
    If .SelectedItem Is Nothing Then Exit Sub
    For i = .SelectedItem.Index + 1 To .ListItems.Count
      If Left(.ListItems(i).ListSubItems(4), 14) = "[DOC SUPPRIMÉ]" Then _
        .ListItems(i).Selected = True: Exit Sub
    Next
  End With
End If
End Sub
Nota : on utilise MouseUp car le clic droit sur la ListView ne crée pas d'événement.

Fichier (2).

A+
 

Pièces jointes

  • SOMMAIRE DES DOCUMENTS QUALITE - essai(2).zip
    473.6 KB · Affichages: 64

job75

XLDnaute Barbatruc
Re : Mise en forme conditionnelle listview

Re,

Si l'on veut que le [DOC SUPPRIMÉ] sélectionné soit au centre de la ListView, ajouter :

Code:
.ListItems(Application.Min(i + 12, .ListItems.Count)).EnsureVisible
Fichier (3).

A+
 

Pièces jointes

  • SOMMAIRE DES DOCUMENTS QUALITE - essai(3).zip
    473.8 KB · Affichages: 97

Tahititin

XLDnaute Occasionnel
Re : Mise en forme conditionnelle listview

Job75, Berbere,
Tout d'abord je tenais à m'excuser pour le retard de réponse, j'étais en déplacement la semaine dernière.
Ensuite merci beaucoup pour vos différentes proposition, je regarde tout ça et je vous tiens au courant.

Encore un grand MERCI

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
314 450
Messages
2 109 724
Membres
110 552
dernier inscrit
jasson