Listview

Didier972

XLDnaute Junior
Bonjour

Voilà j'ai le message d'erreur "Erreur d'éxecution 13" Incompatibilité de type.

Cela commence sur cette ligne : .ListItems.Add , , Sheets("Match").Cells(i, 1)

Code:
Private Sub UserForm_activate()
  Dim hWnd As Long, exLong As Long, zFactor As Integer

  hWnd = FindWindowA(vbNullString, Me.Caption)
  exLong = GetWindowLongA(hWnd, -16)
  If exLong And &H880000 Then SetWindowLongA hWnd, -16, exLong And &HFF77FFFF
  zFactor = 100 * CInt(Application.Width / Me.Width)
  Me.Width = Application.Width
  Me.Height = Application.Height
  
'''''''''''''''''''''''Code pour couleur listview
Dim i&: i = (ListView1.Width * 1 / 3) - 6
hWnd = GetWindow(FindWindow(vbNullString, Me.Caption), 5)
With ListView1
.View = lvwReport
.FullRowSelect = True
End With
hFont = CreateFont(13, 0, 0, 0, 700, 0, 0, 0, 0, 0, 0, 0, 0, "Cambria")
OldProc = SetWindowLong(hWnd, GWL_WNDPROC, AddressOf WinProc)


'==========Définit les entêtes de colonnes==========
    With ListView1
        With .ColumnHeaders
            .Clear 'Supprime les anciens entêtes
            
            'Ajout des colonnes
            .Add , , "N°", 30, lvwColumnLeft 'obligatoire alignement a droite premiere colonne
            .Add , , "Date", 100, lvwColumnCenter
            .Add , , "Equipe 1", 120, lvwColumnCenter
            .Add , , "Equipe 2", 120, lvwColumnCenter
            .Add , , "Arbitre", 120, lvwColumnCenter
       End With
    
    .View = lvwReport 'affichage en mode Rapport
    .Gridlines = True 'affichage d'un quadrillage
    .FullRowSelect = True 'Sélection des lignes comlètes
    'End With

 For i = 2 To Sheets("Match").Range("A65536").End(xlUp).Row
.ListItems.Add , , Sheets("Match").Cells(i, 1)
.ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Match").Cells(i, 3) 'Match N°
.ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Match").Cells(i, 4) 'Date
.ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Match").Cells(i, 5) 'Equipe1
.ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Match").Cells(i, 6) 'Equipe2
.ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Match").Cells(i, 7) 'Arbitre
Next: End With
LB_Classement.ColumnWidths = "120;30;30;30;30"

Me.Label_Classeur.Caption = Left(ThisWorkbook.Name, InStr(ThisWorkbook.Name, ".") - 1) 'affiche le nom du classeur sans l'extention
Me.ListView1.Refresh
End Sub

si quelqu'un à une idée.
 

YANN-56

XLDnaute Barbatruc
Re : Listview

Bonjour Didier, Paritec, et à ceux qui passeront par ici,

Pascal je suis surpris que t'intéresses à cette "Crotte" de Control "ListView! :):):)

Didier, rassure-toi c'était une "Private Joke" entre copains...

Je n'ai pas encore regardé ton Classeur, mais je vais le faire, et tenter de t'aider.

En premier lieu, il aurait été bien que tu supprimes dans ton code, tout ce qui relève de la mise en forme!

Quand il y a un souci, c'est plus facile pour le localiser.
(D'autant que Wind se trompe souvent d'endroit dans son message d'erreur)

Amicalement, et à plus tard,

Yann

Bonjour ALLIGATOR :) Je ne t'avais pas vu
 

YANN-56

XLDnaute Barbatruc
Re : Listview

Re Didier, et aux participants,

J'ai abandonné l'idée de rectifier ton Classeur!
Trop de Machins comme: "Workbook_Open" et "Liaisons" qui m'agacent!
Si ce n'est la colonne B masquée et sans entête dans ta Feuille "Match".

De plus, mon Excel plante grave => (Ctrl + Alt + Suppr) avec ta construction!!! :mad:

Je t'ai fait just'un petit exemple simplissime du chargement de ta première ListView.

Concernant les dates que tu verras au format du genre:29/10/2011, c'est automatique.
De mon coté, je récupère habituellement sa forme décimale dans une colonne de largeur "0"
Et dans une autre visible sa traduction en Samedi 29 octobre 2011

Ceci va permettre un tri chronologique par suite d'un Click sur l'entête de colonne "Date"
en forçant de se référer à celle Numérique.... Sinon: l'ordre est débile!

Quant aux couleurs pour faciliter la lecture, ou pour faire "Pro",
il est bien de ne s'en préoccuper que lorsque le projet est abouti.

Un dernier point:
Je me réjouis que tu aies résolu ton souci ayant fait l'objet de ta question dont
à fait allusion ALLIGATOR.

Il aurait été bien, dans l'esprit du Forum, que tu le dises, et par quel biais!!!

Amicalement,

Yann
 

Pièces jointes

  • DIDIER_1.xls
    56 KB · Affichages: 79

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 379
Messages
2 087 765
Membres
103 662
dernier inscrit
rterterert