saisie semi automatique et filtre

Shakasukali

XLDnaute Nouveau
Bonsoir,

je sollicite votre aide car je rencontre 2 problèmes pour la cloture de ma Base de données.

Ainsi, je cherche en vain à: alterner les couleurs des lignes dans la listview
lorsque je selectionne l'optionbutton "en cours", j'obtiens une intervention. Ensuite lorsque j'appuie sur le bp "modifier" pour modifier l'intervention, les dates de l'intervention "en cours (49)" ne s'affiche pas (ce sont celles de l'intervention 266 qui s'affiche).

pourriez-vous me donner ou me faire le code permettant de selectionner la bonne intervention lors d'un filtre et d'afficher 1 intervention sur 2 en couleur dans la listview.

Mes sincères salutations.

P.S: mon fichier est trop gros, je ne peux pas vous l'envoyer
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : saisie semi automatique et filtre

Bonjour

Il y a un problème dans ton fichier !?
A l'ouverture j'ai un message d'erreur : impossible de charger l'objet car il n'est pas disponible sur cette machine
Cela provient de ton Userform1

A+
 

Shakasukali

XLDnaute Nouveau
Re : saisie semi automatique et filtre

Bonjour BrunoM45

j'ai retiré le Userform1 et je pense que tu pourra lire de fichier à présent.

merci por ton aide.

P.S: j'aurais aimé te renvoyer ce fichier directement mais je ne sais comment faire. Ainsi, j'ai posé un nouveau fichier sur le meme contexte. tu trouveras une nouvelle discution émanante de moi.

Bye.
 
C

Compte Supprimé 979

Guest
Re : saisie semi automatique et filtre

Re,

Ok avec ton nouveau fichier ;)
Maintenant procédons pas étapes ...

Quand j'ouvre le fichier, ton "FrmMenu" s'affiche
Ensuite je clique sur le bouton "Responsable" ton Usf Maintenance s'affiche

1) que veux tu pouvoir faire à ce niveau ?

A+
 

Shakasukali

XLDnaute Nouveau
Re : saisie semi automatique et filtre

je souhaite sur frmMaintenance, plus précisément sur l'onglet "historique de pannes".

je dois respecter un cahier des charges et franchement je te demande ton aide car:

je n'arrive pas à filtrer ma listview avec des combobox mais aussi avec mon optionbutton.
créer une saisie semi automatique dans ma textbox1 pour les colonnes "causes" et "remèdes".

Ainsi, je souhaite bénéficier de ton savoir pour dépasser ses problèmes.

Merci
 
C

Compte Supprimé 979

Guest
Re : saisie semi automatique et filtre

Re,

Tu trouveras ci-joint ton fichier avec les modif suivantes
1) ajout d'une Sub Filtrage
Code:
Sub Filtrage(Col As Integer, vSearch As String, Opérateur As String)' Vérifier s'il s'agit d'une date
  If IsDate(vSearch) Then
    vSearch = Month(DateValue(vSearch)) & "/" & Day(DateValue(vSearch)) & "/" & Year(DateValue(vSearch))
  End If
  With Sheets("BD_Maintenance")
    'If Rows(1).AutoFilter = False Then Rows(1).AutoFilter
    If vSearch <> "" Then
      Rows(1).AutoFilter Field:=Col, Criteria1:=Opérateur & vSearch
    Else
      Rows(1).AutoFilter Field:=Col
    End If
  End With
  ' Effacer le contenu de la ListView
  Me.ListView1.ListItems.Clear
  ' Actualiser la ListView
  Call UserForm_Initialize
End Sub

2) Ajout de codes dans les premiers controles (à toi de faire le reste)
Code:
Private Sub cbEqH_AfterUpdate()
  If Me.cbEqH.Value <> "" Then
    Call Filtrage(6, Me.cbEqH, "=")
  Else
    Call UserForm_Initialize
  End If
End Sub

Private Sub DTPickerDate_au_CloseUp()
  Call Filtrage(3, Me.DTPickerDate_au, "<=")
End Sub

3) Modification du code lors de l'initialisation de l'USF
Code:
'<= début du code
    ' Ajouter les éléments de la 1re colonne
    For Lig = 2 To DerLig
      ' Ajouter les lignes visibles uniquement
      If ws.Rows(Lig).Hidden = False Then
        'Ajouter un élément en spécifiant la valeur seulement
        'les éléments sont dans la même colonne que notre référence (rg)
        .ListItems.Add , , ws.Range("A" & Lig)
        ' Calculer l'indice de ligne de la ListView
        Ind = .ListItems.Count
        ' Ajouter les colonnes
        For Col = 1 To 11              'Nous bouclons sur les 12 colonnes
          'Ajouter un sous-élément en spéciant la valeur seulement
          .ListItems(Ind).ListSubItems.Add , , ws.Cells(Lig, Col)
        Next Col
      End If
    Next Lig
' => fin du code

Voili, voilà ... à toi de jouer pour les fignolages ;)
 

Pièces jointes

  • Shakasukali_Fichier V2.xls
    302 KB · Affichages: 135