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

Re Jean-Marie.

Le problème provenait d'espace dans les cellules lors de copie
dans la feuille EXTRACTION. Porcinet82 avait résolu ce problème
en copiant les valeurs numériques en format numérique voir son post plus haut.

Voir ListView_5.zip de Porcinet82
"Pour ce qui est de tes opérations, je suppose que c'est lors de la copie par double click, du coup, j'ai modifier le code pour que ce qui soit copié dans les cellules soit du numérique lorsque c'est possible."

Cordialement.
 

aubelix

XLDnaute Impliqué
Re : Explication Listview

Re Jean-Marie.

Désolé de ne pas avoir compris le sens de ta question.
Oui la somme doit correspondre à la somme des valeurs contenues
dans chaque colonne -18 +18 et dates comme indiqué dans la formule.

Cordialement.
 

bqtr

XLDnaute Accro
Re : Explication Listview

Bonsoir à tous,

Voici un exemple pour le calcul :

Code:
Private Sub ListView1_DblClick()

Dim x As Integer, k As Byte, m As Integer, y As Byte, Lign As Long

Sheets("EXTRACTIONS").Range("A1:IV65536").Clear
Sheets("Feuil1").Range(Cells(1, 1), Cells(1, DerCol)).Copy Sheets("EXTRACTIONS").Range("A1")

m = 1
With ListView1
  For x = 1 To ListView1.ListItems.Count
     ReDim Preserve Tablo2(1 To DerCol, 1 To m)
     Tablo2(1, m) = .ListItems(x).Text
       For k = 1 To DerCol - 1
         Tablo2(k + 1, m) = .ListItems(x).ListSubItems(k).Text
       Next
     m = m + 1
  Next
End With

With Sheets("EXTRACTIONS")
  .Range("A2").Resize(UBound(Tablo2, 2), UBound(Tablo2, 1)) = Application.Transpose(Tablo2)
  Lign = .Range("A65536").End(xlUp).Row
  .Range("D" & Lign + 1) = "Total"
  .Range(.Cells(Lign + 1, 4), .Cells(Lign + 1, DerCol)).Interior.ColorIndex = 6
    For y = 5 To DerCol
      .Cells(Lign + 1, y) = Application.WorksheetFunction.Sum(.Range(.Cells(2, y), .Cells(Lign, y)))
    Next
End With

End Sub
- En double Cliquant sur la listview, la Feuille Extractions est entièrement effacée.
- les en-têtes de la feuille Feuil1 sont copiés sur la feuille Extractions.
- Les données de la listview sont mise dans un tableau (Tablo2).
- Le tableau est recopié sur la feuille Extractions.
- La case Total est ajoutée.
- La ligne qui sert aux totaux est colorée en jaune.
- Les totaux s'inscrivent sur cette même ligne.

A+
 

Pièces jointes

  • ListView1_3_sommes_colonnes.zip
    38.3 KB · Affichages: 56
Dernière édition:

aubelix

XLDnaute Impliqué
Re : Explication Listview

Bonjour Bqtr et le Forum.

Tout d'abord, Bonne et heureuse année à toi Bqtr.
Merci pour ta réponse.

C'est tout à fait ce que je souhaitais.
Je l'ai adapté à mon fichier. Ca fonctionne sauf...
(Dû à mon adaptation). La 1ère ligne n'est pas copiée.
Pourquoi ? J'ai essayé de regarder, je ne vois pas où ça pêche.
Merci de me donner ce dernier coup de mains.

En attendant ton aide.
Cordialement.
 

Pièces jointes

  • ListView1_sommes_colonnes_finale.xls
    186.5 KB · Affichages: 69

bqtr

XLDnaute Accro
Re : Explication Listview

Re,

Bonne année à toi aussi :)

L'erreur vient du fait que tu sélectionnes la feuille EXTRACTIONS au début de la macro, la copie de la ligne 1 de la feuille 1 ne peut plus se faire. La feuille 1 doit restée la feuille active du moins jusqu'à la copie.

De plus tu as placé l'instruction On Error Resume Next au début, donc le déroulement de la macro continue en ignorant l'erreur.

L'instruction On Error Resume Next est utilisé quand tu sais que tu va avoir une erreur, par exemple pour générer des collections, mais elle doit être suivie d'une autre instruction On Error Goto 0 pour rétablir la gestion du controle des erreurs.

A+

Edit : Tu n'es pas obligé de lancer une MsgBox par l'instruction Call.
 

Pièces jointes

  • ListView1_sommes_colonnes_finale.zip
    42.5 KB · Affichages: 83
Dernière édition:

aubelix

XLDnaute Impliqué
Re : Explication Listview

Re

Mille mercis Bqtr pour ton aide.
Je tenais aussi à remercier tous les intervenants sur ce post qui m'ont aidé
à finaliser ce projet. A savoir par ordre "d'apparition à l'écran" :
Denis, MJ13, Lii, Paritec, Porcinet82, Bqtr, Ct=hti160.

Je pense qu'on ne le dira jamais assez c'est grâce à tous les bénévoles
qui donnent de leur temps sans compter que ce Forum éxiste et vivra longtemps
et ne font pas mentir l'adage : "Le savoir, ne vaut que s'il est partagé."

Je tenais en début de cette nouvelle année à vous signifier ma reconnaissance.
Bonne et Heureuse Année 2009 à Tous.

Cordialement.

Nota: Je ne sais pas insérer des icônes dans le message.
Si quelqu'un peut me donner une leçon...
 

bqtr

XLDnaute Accro
Re : Explication Listview

Re,

Si je me souviens bien tu vas dans ton profil, click sur Tab. de bord c'est en haut à gauche quand tu es connecté.

Dans la colonne à gauche, click sur Modfifier vos options, déroule jusqu'en bas, dans le dernier pavé Options Diverses sélectionne
Editeur WYSIWYG Interface Avancée dans la liste du 1er paragraphe.

Tu enregistres les modif et tu reviens sur le forum. A partir de là quand tu feras un message tu auras plein de chose pour la mise en forme et notamment les icones. Il suffit de clicker dessus et elles se placent à l'endroit du curseur.

A+
 

aubelix

XLDnaute Impliqué
Re : Explication Listview

Re Bqtr

;) Merci pour les infos.
Comme tu peux le constater, j'ai réussi grâce à toi.

Une denière question concernant la Listview:
Comment faire la somme des deux TxtB1 + TxtB1
J'ai ajouté un TxtB3.
J'ai voulu faire la somme par : TxtB3.value = TxtB1.value + TxtB2.value
Mais les valeurs sont concaténées non sommées. :mad:

Peux-tu m'expliquer pourquoi ?

Cordialement. :)
 

Discussions similaires

Statistiques des forums

Discussions
312 482
Messages
2 088 765
Membres
103 954
dernier inscrit
SirJah