XL 2010 [Résolu] Afficher résultats par dates dans Listview

  • Initiateur de la discussion Initiateur de la discussion Lone-wolf
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Lone-wolf

XLDnaute Barbatruc
Bonjour à toutes et à tous 🙂

En PJ et dans le formulaire UsfGestionES, j'aissaie d'afficher par dates les entrées et les sorties des différents articles. Je ne sais pas se qui se passe, la listview n'affiche aucuns résultas malgré une recherche avec Find.

J'ai aussi un souci concernant le format Date dans les Combobox's, elles affichent le format "dd/mm/yyyy" et moi j'aimerais qu'elles soient au format "dd.mm.yyyy". Les feuilles sont "Entrees" et "Sorties" du classeur Base qui se trouve dans le sous-dossier.

Merci d'avance pour l'aide que vous apporterez.
 

Pièces jointes

Bonjour René 🙂

Bonne nouvelle, j'ai trouvé la solution. Voici le code

VB:
With WsDC
plg = .Range("c" & Rows.Count).End(xlDown).Row
Set plage = plg.Find(CmbCommandes, xlValues, xlWhole)
      For Each cel In plage
            If Not cel Is Nothing Then
    Set cel = cel.Offset(0, 1).Find(CmbArticles, xlValues, xlWhole)
                If cel.Offset(0, 1).Value = CmbArticles.Value Then
        ligne = cel.Offset(0, 1).Row
      End If
End If
    If MsgBox("Voulez-vous modifier cet enregistrement ?", vbYesNo, _
              "LES MILLES MERVEILLES") <> vbYes Then Exit Sub
      .Cells(ligne, 5) = Format(TxtQte, "0")
      .Cells(ligne, 6) = Format(TxtPrix, "0.00")
      .Cells(ligne, 7) = Format(Pourcent, "0%")
      .Cells(ligne, 8) = Format(TxtDif, "0.00")
      .Cells(ligne, 9) = Format(TxtMontant, "0.00")
      Exit For
    Next cel
        ligne = ligne + 1
  End With
 
Bonjour René 🙂

En utilisant l'usf j'ai constaté trois anomalies. La première: l'affichage des commandes, la deuxième: quand j'ai selectionné Severine Robico, la listview affichait aussi les diverses dates, et la troisième les intitulés des colonnes de la listview, mieux vaut les faire manuellement.

Comme se n'est pas terrible, sans vouloir t'offenser, j'ai pensé aux listes en cascades. Au lieux d'avoir une textbox qui affiche le numéro de commande, il faudrait une 2ème combo qui récupère les autres numéros de commandes de la même personne; et avec celle-ci afficher les autres commandes.
 
bonjour Bebère, Lone-wolf et le forum
j'ai ouvert le dernier fichier que Bebère🙂 a mis en ligne et je me trouve avec un bug quand je clic sur "commandes clients" et quand je choisi dans la combobox un réprésentant l'erreur vba s'ouvre sur une erreur de variable non défini a
Code:
 LbC.Caption = ""
a LbC et je ne vois pas de label a ce nom
 
Bonjour Pascal 🙂

Tu peux sans autre le supprimer, comme j'ai dû refaire le projet, j'ai oublié de l'enlever.
Correction du code de la listview1.

EDIT: Bonjour René 🙂, je n'ai pas fait attention à ton message, sorry.


VB:
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
Dim ItemDtC As ListItem, ItemCCl As ListItem

WsFact.Range("a1:l65536").AutoFilter

  With WsDC.Range("c2:c65536")
  Set cel = .Find(Item.SubItems(1), , , xlWhole)
  If Not cel Is Nothing Then
  premaddress = cel.Address
  ListView2.ListItems.Clear
  Do
    Set ItemDtC = ListView2.ListItems.Add(Text:=cel.Offset(0, 0))
      ItemDtC.SubItems(1) = cel.Offset(0, 1)
      ItemDtC.SubItems(2) = cel.Offset(0, 2)
      ItemDtC.SubItems(3) = Format(cel.Offset(0, 3), "0.00.-")
      ItemDtC.SubItems(4) = Format(cel.Offset(0, 4) / 100, "0%")
      ItemDtC.SubItems(5) = Format(cel.Offset(0, 5), "0.00.-")
     ItemDtC.SubItems(6) = Format(cel.Offset(0, 6), "0.00.-")
Set cel = .FindNext(cel)
    Loop While Not cel Is Nothing And cel.Address <> premaddress
    End If

With WsFact.Range("b2:b65536")
  Set c = .Find(cel.Offset(0, 0), , xlValues)
  If Not c Is Nothing Then
  premaddress = cel.Address
  ListView3.ListItems.Clear
  Do
    Set ItemCCl = ListView3.ListItems.Add(Text:=c.Offset(0, 0))
      ItemCCl.SubItems(1) = c.Offset(0, 2)
      ItemCCl.SubItems(2) = Format(c.Offset(0, 8), "0.00.-")
      ItemCCl.SubItems(3) = c.Offset(0, 5)
    
      If Date = c.Offset(0, 9).Value Then
MsgBox "      Le versement à été éffectué." & vbCrLf & "Veuillez procéder à la mise à jour.", , "LES MILLES MERVEILLES"
c.Offset(0, 9).ClearContents
c.Offset(0, 5) = Format(Date, "dd.mm.yyyy")
Else
Exit Sub
End If
Set c = .FindNext(c)
    Loop While Not c Is Nothing And c.Address <> premaddress
    End If
End With
End With

Call Maj
End Sub
 
Re René, Pascal, le Forum

@ René: voilà qui est beaucoup mieux. Comme tu l'a pu constater, on vois maintenant à quel numéro de commande appartiennent les produits. Tank You So Much. 😉

Pendant que tu travaillait sur l'usf, j'en ai créé un nouveau (UsfEtats) et commencé une partie. En cliquant sur l'un des intitulés de la listview gauche, j'alimente la combo qui se trouve en dessous et en cliquant sur aperçus, on peut voir les montants pour les clients et les représentants ainsi que les produits vendus et es ventes par catégories. Dans la listview de droite pour l'instant on ne peut voir que les montants trimestriels, en cliquant sur le même intitulé, puis en sélectionnant les trimestres.

Pour completer le formulaire, il faudrait ajouter les macros des ventes mensuelles - trimestrielles et annuelles pour chaque intitulé de la listview à gauche et pour chaque noms de la combo.
 

Pièces jointes

Bonjour Pascal, le Forum 🙂

Je vais regarder cela, c'est bizarre??? 😵

Edit: comment tu fait pour prendre la commande?? Moi je n'ai pas ce souci. Il y a juste une correction à faire au bouton Quitter.

With WsC
k = .Range("b65536").End(xlUp).Row
If ComboBox1 = "" Or ComboBox3 = "" Then .Range("z1").Value = .Cells(k, 2).Value
End With


Moi j'ai un problème avec cette macro, pour copier les lignes filtrées.

VB:
Sub test()
Dim i As Long
Application.ScreenUpdating = False
With Sheets("Sorties")
derlig = .Range("b65536").End(xlUp).Row
date1 = DateSerial(2016, 9, 1)
article = .Range("c75").Value  'Peignoire adulte divers coloris
For i = derlig To 2 Step -1
  If Month(.Cells(i, 2).Value) <> Month(date1) And .Cells(i, 3).Value <> article Then
    Select Case .Cells(i, 3).Value
        Case "C", "D"
        Exit For
        Case Else
        .Rows(i).Hidden = True
    End Select
End If
Next i
End With
End Sub


Pour l'ensemble des aricles du même mois, c'est ok; mais pas avec l'exemple.
 
Dernière édition:
Bonsoir René,

Encore une fois c'est peut-être un malentendu. Le fitre doit être appliqué d'après la combo des mois de l'usf Etats. J'ait fait une modification pour cette combo. D'abord j'ai inscrit sur la feuille comme ceci

VB:
With WsSort
For i = 1 To 12
.Range("u" & i + 1) = Format(CDate("01/" & i & "/" & UsfEtats.ComboBox1), "dd.mm.yyyy")
Next i
End With

Ensuite

VB:
With WsSort
derlig = .Range("u" & Rows.Count).End(xlUp).Row
For k = 2 To derlig
UsfEtats.ComboBox3.AddItem Format(.Range("u" & k), "mmmm")  'ComboBox Mois
Next k
End With

En Pj, le fichier à utiliser.

Attention! Ce n'est plus "Base" mais "Data" le classeur à ouvrir. Voir le module Initialisation_Classeur_Base et pour les variables "Variables_Public".
 

Pièces jointes

Dernière édition:
bonsoir bebere et Lone-wolf
il n'y a pas de classeur "base" donc ca bug sur ta ligne de code
non c'est juste qand je clique sur le bouton il me demande si je veux inscrire une nouvelle commande , je clic sur oui et je passe a l'erreur 13 incompatibilité de type et l'appui sur f8 fait défilé jusque l'erreur qui est a l'une ou l'autre des lignes montview
Code:
DateCom = Format(Date, "dd.mm.yyyy")
Me.MonthView1 = DateCom
Me.MonthView1.Visible = False
DifMontant = Format(DifMontant, "0.00")
NumCom = WsC.Range("k1").Value

j'ai supprimer les montview et remis d'autres et le bug est le même
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
571
Réponses
2
Affichages
1 K
Réponses
4
Affichages
2 K
Réponses
4
Affichages
1 K
Retour