Explication Listview

aubelix

XLDnaute Impliqué
Bonjour à tout le Forum.

Je reviens une fois de plus vers vous, pour demander votre aide.
J'ai récupéré une macro contenant une ListView que j'ai adapté
du moins essayé d'adapter à mon cas.
Plusieurs questions pour comprendre le principe du ListView :

- Pouvez-vous corriger mon exemple.
- Ajuster les colonnes, supprimer le superflus etc...
- Commenter les diverses étapes de la macro, pour que je puisse
en créer à l'avenir grâce à votre aide (en ayant compris le principe)

Et d'autre comment sont obtenu les icônes à gauche des références...
J'ai fouillé, mais je n'ai rien trouvé.

Merci par avance pour aide qui me font avancer.
Cordialement.
 

Pièces jointes

  • GEST_CONSO.xls
    40 KB · Affichages: 167

aubelix

XLDnaute Impliqué
Re : Explication Listview

Bonjour Denis.

Merci pour ta réponse.
Je n'ai pas plus avancé avant ma question.
Ca ne réponds pas à mes questions...
J'aurais aimé des réponses sur le cas qui me concerne.
Merci tout de même pour ta réponse !

Par avance, merci pour votre aide.
Cordialement.
 

aubelix

XLDnaute Impliqué
Bonjour "matinal" à tous les amis du Forum.

Je reviens vers vous pour une relance sur mon problème.
Si j'arrive à comprendre le principe avec des explications
directement sur mon cas, je pense faire de grans pas
grâce à vous tous.
Merci à tous pour votre aide. Par avance merci.

Cordialement
 

MJ13

XLDnaute Barbatruc
Re : Explication Listview

Bonjour Aubelix, Denis

Voici mon point de vue et je le partage.

Je ne suis pas sur que ce soit le meilleur moyen d'apprendre.
On a souvent autre chose à faire que de faire de la formation (c'est un peu le sens de ta question).
Je te conseille si tu es en entreprise de faire un stage Excel VBA Expert.
La meileure personne qui puisse de donner des explications pour apprendre c'est toi.

Nous sommes un site d'entraide et il faudrait que les gens s'impliquent d'avantage avant de poser des questions en consultant des tutoriels, des livres...
Et non pas qu'ils nous prenne pour des robots a tout solutionner.

Bon week-End
 

MJ13

XLDnaute Barbatruc
Re : Explication Listview

Bonjour Aubelix

OK, tu es coriace:) (mais c'est comme cela qu'on apprend).

Dans un premier temps met un stop dans ton code ici.

Code:
iRnd = Int((4 * Rnd) + 1)
  Stop

Ensuite debuge en tapant sur F8 pour aller en mode pas à pas et ctrl+shift+F8 pour continuer. n'oublie pas de passer ta souris sur les variables pour voir leur valeur.
Est-ce plus compréhensible?

Sinon reviens nous voir.
 

aubelix

XLDnaute Impliqué
Re : Explication Listview

Bonjour MJ13 et le Forum.

Merci pour ta réponse.
Je ne suis pas encore au niveau du débuggage.
C'est pur cette raison que je je demande de l'aide.
Et en fonction des réponses, j'en apprends tous les jours.
Pour ton info, je suis autodidacte grâce et entre autres
à tous les bénévoles comme toi, qui nous aident et qu'on ne remerciera jamais assez.

Cordialement.
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Explication Listview

Bonjour Aubelix

Bon sinon, dans thisworkbook, tu peux mettre un stop et la tu peux voir comment se comporte la mis en place des éléments.

Code:
Sub ouvre()
Stop
UserForm1.Show
End Sub

Mais sinon, qu'est ce que tu ne comprend pas?
J'y connaissais pas grand chose en listview mais maintenant, je comprend mieux . Merci Aubelix.

Pour les remerciements , ce n'est pas ce que j'éspère de toi , mais que tu regardes comment se comporte le programme en décorticant les phases séquentielles. D'ailleur le code est très bien fait (tu l'as trouvé où?).

Sinon, si il ya des mots que tu ne comprends pas, tu peux taper F1 en sélectionnant le mot. En plus en vert dans le code du USF, tout est bien expliqué. Mais je t'assure le debuggage, c'est vraiment la meilleure façon de comprendre (il faut que tu mettes la fenêtre VBA en plus petit pour voir le Userform se construire et tu peux même cliquer sur le combobobox en cours de construction).
 

Lii

XLDnaute Impliqué
Re : Explication Listview

Bonsoir,

j’ai repris le fichier pour donner un autre exemple de programmation.
On initialise puis on traite.

Si tu agrandis l’USF, tu verras apparaître un contrôle « ImageList1 » dont le nom figure dans la première liste des propriétés (liste des contrôles quand l’userform est affiché).
Sélectionne cet élément, (pourquoi caché* ?) et clique sur Propriétés (à priori case vide).
Tu auras les images dont l’index est choisi aléatoirement et qui apparaissent dans la liste.

Pour arrêter le déroulement d’une macro à une ligne voulue, il suffit d’appuyer sur F9 (bouton bascule pour mettre ou enlever un point d’arrêt) et toujours, pour continuer, appuyer sur F8.
Dans certain cas, l’ajout d’un MsgBox (avec des variables) permet de mieux voir leur situation.

* voilà un cas peu évident pour entamer une recherche (débutant ou pas) !
 

Pièces jointes

  • ListView1.zip
    11.3 KB · Affichages: 142
  • ListView1.zip
    11.3 KB · Affichages: 141
  • ListView1.zip
    11.3 KB · Affichages: 145

aubelix

XLDnaute Impliqué
Re : Explication Listview

Bonjour Lii et tout le Forum.

Mille Mercis pour ta réponse si bien commentée et qui rendra service à de nombreux "Exceliens".
C'est avec ce genre de Tutorial qu'on avance.

Une question: comment supprimer les icônes à gauche des références
J'ai essayé mais j'obtiens des message d'erreur.
J'ai mis en "rem" tout ce qui s'y rapporte, mais ça beug...

D'autre part, comment après un filtre par un double click copier les données filtrées dans
une autre feuille du même classeur par exemple "Extractions" et en supprimant les données
précedemment filtrées. Clear des anciennes extractions à chaque nouvelles demandes.

Par avance merci pour votre aide.

Cordialement.
 

Lii

XLDnaute Impliqué
Re : Explication Listview

Bonjour Tous,

Pour ne pas prendre les images et toujours avec ce style,
Code:
   'première colonne
   Set lItem = ListView1.ListItems.Add(, , Cells(Li, 1))
Ne pas oublier de supprimer le contrôle et les lignes inutiles.

Pour le double-clic, par exemple
Code:
  Private Sub ListView1_DblClick()
      With Sheets("....") [COLOR=Green]'nom de la feuille d'arrivée[/COLOR]
          For Li = ... To ListView1.ListItems.Count [COLOR=Green]'voir pour la première ligne[/COLOR]
          .Cells(Li, 1) = ListView1.ListItems(Li)
          For Col = 2 To DerCol
              .Cells(Li, Col) = ListView1.ListItems(Li).ListSubItems(Col - 1)
          Next Col
        Next Li
      End With
  End Sub
Il te faut savoir sur quelle feuille et quelle ligne écrire.

La listview est initialisée à partir des données inscrites dans la feuille 1.
Pour supprimer des items avec ce code, il faudrait déplacer les données et non les copier.
Est-ce que tu veux ?
Sinon il faut reprendre toute la partie initialisation.
Tu trouveras certainement des exemples déjà traités.
 

aubelix

XLDnaute Impliqué
Re : Explication Listview

Bonjour Lii
Merci d'avoir consacré du temps à mon problème.

Je te joints le fichier, car j'ai fait des modifications, mais je crois
que je n'ai pas bien saisi tes remarques.

Merci pour ton aide.

Cordialement.

P.S: Peux-tu comme tu l'as fait pour les post précédents
commenter les modif que tu auras apportées.
 

Pièces jointes

  • ListView1.xls
    37.5 KB · Affichages: 136
  • ListView1.xls
    37.5 KB · Affichages: 141
  • ListView1.xls
    37.5 KB · Affichages: 140
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 496
Messages
2 088 982
Membres
103 997
dernier inscrit
SET2A