ListView dont les SubItems seraient la concaténation de cellules de deux feuillets <>

belerofon

XLDnaute Occasionnel
Bonsoir All,
Petit coinçage technique ce soir sur l avant dernier problème à résoudre (enfin je lespère) pour finaliser mon petit outils d'aide à la gestion de Collection de Pièces en Euros.

Grace au fichier exemple vous verrez vite le but désiré et le problème rencontré...

A l ouverture du fichier exemple , un Userform "Gestion" s'ouvre automatiquement.
Dans la Frame "Aperçu : " , renseignez un nom de collectionneur dans la ComboBox de gauche, puis un second dans la ComboBox de droite.
Celà active le CheckBox situé à gauche.
Lorsque l'on clique sur le Checkbox, je souhaiterais que la ListView1 se modifie de son aspect normal pour qu'il passe en mode "Comparaison". Il indiquerait donc en un coup d'oeil les différences entre deux collections pour deux collectionneurs choisis .
( Je sais, c est pas très utile mais le but n'est pas la mais de travailler a pousser mes limites d'Excel et VBA pour pouvoir m'atteler a de "vrais projets" dans un avenir pas trop lointain j espere)

Donc jusqu'à présent, je sais afficher dans chaque "case" de ListView1 , le contenu d'une cellule... Le challenge est de réussir, sans créer un code de "monstre" , a afficher dans une de ces "cases" des informations multiples venant de différents feuillets, a savoir ici, venant des feuillets respectifs des deux collectionneurs comparés.

Le résultat se présenterait sous quatres résultats possibles:
- "X - X" : si les deux collectionneurs possedent la piece concernée
- "X - " : si seul le premier collectionneur possede la dite piece
- " - X " : si le second la possede uniquement
- " " : si aucun des deux ne la possède

Grosso merdo, un concatener de base qui ferait disparaitre le ou les "-" si aucun X n'apparait dans le résultat.

Le problème c'est que mon esprit ( encore trop étriqué semble-t-il ) ne trouve pas le moyen d arriver a ce resultat...

Le morceau de code concerné est pour l instant volontairement laissé vierge car, pu d'idée après pas mal de tentatives foireuses , il se situe un peu au dela de la moitié du code de l' Userform "Gestion" et se repère avec les commentaires comme suit :

Code:
'--------------------------------------Rempli le tableau comparatif
If CheckComp = True Then
With ActiveWorkbook
    Der = .Sheets(Comp1.Value).Range("A65000").End(xlUp).Row
    Set Plage = .Sheets(Comp1.Value).Range("A1:A" & Der)
    Set Plage2 = .Sheets(Comp2.Value).Range("A1:A" & Der)
        For Each Cel In Plage
            If CobSelPays.Text = CobSelPays Then Ok = Cel = CobSelPays
            If Ok Then
                With ListView1







                End With
            End If
        Next Cel
End With
End If

End Sub

En espérant que ca inspire quelqu'un , et si vous avez des propositions d'améliorations pour me faire travailler des cas concrets j'en serais ravi...

Merci d'avance,
Julien
 

Pièces jointes

  • Gestion Euros Collection.zip
    121.2 KB · Affichages: 47
  • Gestion Euros Collection.zip
    121.2 KB · Affichages: 42
  • Gestion Euros Collection.zip
    121.2 KB · Affichages: 41
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin