Detailler la somme des particularité dans une listview

  • Initiateur de la discussion Initiateur de la discussion creolia
  • 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 !

creolia

XLDnaute Impliqué
Bonjour à tous

je viens vers vous car je recherche une solution pour détailler un texte dans une listview

je m'explique

dans ma listview en premiere collone j'ai ce genre de texte
"2 WCHC - 15 WCHR - 1 WCHS"
"3 WCHC - 11 WCHR - 3 WCHS"
"5 WCHC - 9 WCHR - 3 WCHS"

je souhaiterais parcourir toute la colonne 1 et copier en collone 2 la somme de chaque particularité des valeur ci dessus comme ceci

colonne 2
10 wchc
35 wchr
17 wchs

je sais c'est trés complexe mais j'aimerais trouver une solution avec votre aide svp merci d'avance
 

Pièces jointes

Re : Detailler la somme des particularité dans une listview

Bonjour Creolia

C
omment pourrais avoir le même résultat que BrunoM45 propose en se basant sur les données déja pésent dans la listview sans le recharger juste un bouton qui me calcule le détail sans devoir recharger ma listview donc sans modifier toute les façon dont j'alimente ma listview.
Problème, c'est que l'on ne sait pas se que tu veux faire exactement !?

données déja pésent dans la listview
Pourquoi ?

A+
 
Re : Detailler la somme des particularité dans une listview

Re bonjour brunotM45

je souhaite arriver au meme résultat que tu ma donnée mais en calculant directement avec les valeur présent dans la listview.

ta solution charge les valeur d'une page et ensuite le filtre moi je souhaiterais si possible directement filtrer avec les particularité présent dans la listview

je c pas si je suis clair
 
Re : Detailler la somme des particularité dans une listview

Re bonjour j'ai réussis a adapter mais ce n'est pas parfais au niveau des calcule pouvez vous m'aider svp merci

en effet j'ai plusieurs fois des particularité voir le fichier joins en cliquant sur détail.

merci pour tous ce qui m'aiderons
 

Pièces jointes

Re : Detailler la somme des particularité dans une listview

Bonjour BrunotM45 je ne sais pas si tu as vue le dernier fichier que j'ai poster j'y suis presque sauf que wchc reviens plusieur fois au d'une fois s'aurais tu svp me dire ou sa pourais venir merci d'avance
 
Re : Detailler la somme des particularité dans une listview

bonjour Creola,Bruno
la solution,avec ce code ?

Code:
Sub detaillistview()
Dim tbl() As String, d As Object, item As Variant, i As Long, j As Long

Set d = CreateObject("Scripting.Dictionary")

j = 0
    For Lig = 1 To ListView1.ListItems.Count
  mot = Split(ListView1.ListItems(Lig).Text, "-")
  For i = 0 To UBound(mot)
  ReDim Preserve tbl(j)
  tbl(j) = Trim(mot(i))
  j = j + 1
  Next
Next

For j = 0 To UBound(tbl)
mot = Mid(tbl(j), InStr(tbl(j), " ") + 1)
    If Not d.Exists(mot) Then d.Add mot, mot
Next

For Each item In d.items
If Me.TextBox1 = "" Then
Me.TextBox1 = item
Else
Me.TextBox1 = Me.TextBox1 & "-" & item
End If
Next

End Sub
 
Re : Detailler la somme des particularité dans une listview

Bonjour bebere merci pour ton intervention mais malheureusement ta solution m'apporte qu'une partis de la solution.

en effet le but le la macro est de comptabilisé le nombre de particularité et la il ne me donne que les particularité présente dans la liste.

c'est à dire au lieu de cela

10 WCHC 3 WCHR 4 UM

Ta macro m'affiche ceci

WCHC WCHR UM


Merci d'avance de ton aide
 
Re : Detailler la somme des particularité dans une listview

bonjour Creola

concaténer sans doublon,code changé

Code:
Sub detaillistview()
Dim tbl() As String, d As Object, item As Variant, i As Long, j As Long

Set d = CreateObject("Scripting.Dictionary")

j = 0
    For Lig = 1 To ListView1.ListItems.Count
  mot = Split(ListView1.ListItems(Lig).Text, "-")
  For i = 0 To UBound(mot)
  ReDim Preserve tbl(j)
  tbl(j) = Trim(mot(i))
  j = j + 1
  Next
Next

'For j = 0 To UBound(tbl)
'mot = Mid(tbl(j), InStr(tbl(j), " ") + 1)
'    If Not d.Exists(mot) Then d.Add mot, mot
'Next

'For Each item In d.items
'If Me.TextBox1 = "" Then
'Me.TextBox1 = item
'Else
'Me.TextBox1 = Me.TextBox1 & "-" & item
'End If
'Next

For j = 0 To UBound(tbl)
If Me.TextBox1 = "" Then
Me.TextBox1 = tbl(j)
Else
Me.TextBox1 = Me.TextBox1 & "-" & tbl(j)
End If


Next

End Sub
 
Re : Detailler la somme des particularité dans une listview

Bonjour bebere et merci vraiment pour tous je me sent gener avec ce que tu fais pour moi de te dire c'est presque sa mais cela encore

tu me propose bien la bonne solution mais le but étant d'additionner tous les valeur trouver par particularité



exemple dans ma listview j'ai ceci

3 WCHC - 2 WCHR - 4 UM
1 WCHU- 2 WCHC - 1 WCHR

DANS LA TEXTBOX devrais s'afficher 5 WCHC - 3 WCHR - 4 UM - 1 WCHU

ai je été plus clair svp merci
 
Re : Detailler la somme des particularité dans une listview

Bonjour Creolia, salut Habitude, salut l'ami Bebere 😀

Désolé Creolia, de ne pas être revenu plus tôt 😱

Dans mon code il suffisait de changer
Code:
      ' Récupérer la valeur de la cellule sans espace devant et après
      VCel = ListView1.ListItems(Lig).Text
par
Code:
      ' Récupérer la valeur de la cellule sans espace devant et après
      VCel = Trim(ListView1.ListItems(Lig).Text)

Juste un problème d'espace devant 😉

A+
 
Re : Detailler la somme des particularité dans une listview

bonjour Bruno
en fait j'ai mal lu
je pense que Bruno sera d'accord.Cela mérite un bisou
Code:
Sub detaillistview()
Dim tbl() As String, d As Object, item As Variant, i As Long, j As Long, x As Double

Set d = CreateObject("Scripting.Dictionary")

j = 0
    For Lig = 1 To ListView1.ListItems.Count
  mot = Split(ListView1.ListItems(Lig).Text, "-")
  For i = 0 To UBound(mot)
  ReDim Preserve tbl(j)
  tbl(j) = Trim(mot(i))
  j = j + 1
  Next
Next

For j = 0 To UBound(tbl)
mot = Mid(tbl(j), InStr(tbl(j), " ") + 1)
    If Not d.Exists(mot) Then d.Add mot, mot
Next

For Each item In d.items
For j = 0 To UBound(tbl)
If tbl(j) Like "*" & item Then
x = x + CDbl(Mid(tbl(j), 1, InStr(tbl(j), " ") - 1))
End If
Next

If Me.TextBox1 = "" Then
Me.TextBox1 = x & " " & item
Else
Me.TextBox1 = Me.TextBox1 & "-" & x & " " & item
End If
x = 0
Next

End Sub
 
- 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
582
Retour