Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 20/10/2005, 12h33   #1 (permalink)
XLDnaute Barbatruc
 
Avatar de ChTi160
 
Date d'inscription: février 2005
Localisation: Savigny le Temple 77176
Version Excel : Excel 2007 (PC)
Messages: 3 077
Envoyer un message via MSN à ChTi160
Par défaut ListView et Initialisation ListImage

Bonjour à toutes et à Tous

je me suis interressé aux ListView et ce présente à moi un problème que je n'arrive pas a résoudre

j'ai un Userform avec une ListView j'aimerai inclure une icon dans la Colonne 1 et j'ai un message

Code:
Private Sub UserForm_Initialize()
Rem On place le Listview en mode rapport
Rem qui permet de créer des colonnes
LV_Trains.View = lvwReport
Dim imgX As ListImage
Dim wItem As ListItem

Me.ImageList1.ListImages.Clear
Me.ImageList1.ImageHeight = 16
Me.ImageList1.ImageWidth = 16
Set imgX = Me.ImageList1.ListImages.Add(, , LoadPicture(ThisWorkbook.Path & '\\' & 'printer.ico'))

Rem Création des colonnes
Call LV_Trains.ColumnHeaders.Add(, , 'Départ', LV_Trains.Width / 4)
Call LV_Trains.ColumnHeaders.Add(, , 'Heure', LV_Trains.Width / 4)
Call LV_Trains.ColumnHeaders.Add(, , 'Arrivée', LV_Trains.Width / 4)
Call LV_Trains.ColumnHeaders.Add(, , 'Heure', LV_Trains.Width / 4)
'-----------

Rem Ajout de la première ligne

Set wItem = Me.LV_Trains.ListItems.Add(, , 'Chambéry',1,1)
wItem.SubItems(1) = '06:00'
wItem.SubItems(2) = 'Paris'
wItem.SubItems(3) = '09:15'

Rem Ajout de la deuxième ligne
Set wItem = LV_Trains.ListItems.Add(, , 'Chambéry')
wItem.SubItems(1) = '15:30'
wItem.SubItems(2) = 'Lyon'
wItem.SubItems(3) = '17:15'


End Sub
je devrais normalement Lol
au niveau de cette ligne inclure l'icone d'index 1 de ma ListImage1 dans la Colonne 1(0)de ma listView
Set wItem = Me.LV_Trains.ListItems.Add(, , 'Chambéry',1,1)
j'ai un message ImageList doit être initialisé avant de pouvoir être utilisé
alors que je peux utiliser cette image dans la procèdure suivante
Code:
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim Ctrl As Control

For Each Ctrl In Me.Controls
        If TypeOf Ctrl Is CommandButton Then
            Ctrl.MousePointer = 99
            Set Ctrl.MouseIcon = Me.ImageList1.ListImages(1).Picture
        End If
Next
End Sub
c'est donc que ImageList a bien était Initialisé non ??????
si quelqu'un peut me dire ou le Bas Blesse et m'indiquer la marche a suivre pour résoudre ce problème(un petit exemple )
Merci D'avance

Message édité par: Chti160, à: 20/10/2005 12:54
__________________
Amicalement Jean Marie

ChTi160 est déconnecté   Réponse avec citation
ANNONCES
Vieux 20/10/2005, 15h53   #2 (permalink)
XLDnaute Impliqué
 
Avatar de Gibson94
 
Date d'inscription: mai 2005
Messages: 589
Par défaut Re:ListView et Initialisation ListImage

Salut Jean-Marie, le forum,

Tu peux pas poser une question plus facile pour commencer...lol

Si tu remplaces 'Chambéry' par 'Brunoy' et tu colles ton avatar à la place de ton icone number one... je suppose que çà va toujours planter...lol... T'en as pas assez de te compliquer la vie, il faut que tu viennes compliquer la nôtre avec tes histoires de trains qui se croisent...

Bon, c'était juste pour te dire un p'tit bonjour au passage (du train pour Chambéry...) Allez, tant que le message d'erreur ne vient pas de la SNCF, t'as de l'espoir...

Ahhh...c'est toujours passionnant ces histoires de trains, de tête de train et d'arrière train...lol
__________________
Gibson94 est déconnecté   Réponse avec citation
Vieux 20/10/2005, 16h00   #3 (permalink)
XLDnaute Barbatruc
 
Avatar de ChTi160
 
Date d'inscription: février 2005
Localisation: Savigny le Temple 77176
Version Excel : Excel 2007 (PC)
Messages: 3 077
Envoyer un message via MSN à ChTi160
Par défaut Re:ListView et Initialisation ListImage

Salut
arfff
je vois un message et c'est qui????
c'est Guy qui vient me parler du boulot

tu vas bien j'espère ,j'essaie d'apprendre mais c'est pas évident malgré mes nombreuses recherches je ne comprends pas pourquoi, je n'y arrive pas Lol

Enfin j'attends avec impatience la visite de Michel XLD pour qu'il me sorte de cette impasse Lol
j'ai consulté sa Page WiKi mais bon
A plus Guy et bonne fin de Journée
__________________
Amicalement Jean Marie

ChTi160 est déconnecté   Réponse avec citation
Vieux 20/10/2005, 18h27   #4 (permalink)
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 714
Par défaut Re:ListView et Initialisation ListImage

bonjour chers Jean-Marie et Guy


Jean-Marie : tu m'apelles , j'accoures ...

j'espere que cette adaptation répondra à ta demande (testé avec Excel2002 et WinXP)
je te laisse decouvrir les modifications


Private Sub UserForm_Initialize()
Dim imgX As ListImage
Dim wItem As ListItem

LV_Trains.View = lvwReport

Me.ImageList1.ListImages.Clear
Me.ImageList1.ImageHeight = 16
Me.ImageList1.ImageWidth = 16
Set imgX = _
Me.ImageList1.ListImages.Add(, 'AA', LoadPicture(ThisWorkbook.Path & '\\\\\\\\' & 'printer.ico'))

LV_Trains.SmallIcons = ImageList1

Call LV_Trains.ColumnHeaders.Add(, , 'Départ', LV_Trains.Width / 4)
Call LV_Trains.ColumnHeaders.Add(, , 'Heure', LV_Trains.Width / 4)
Call LV_Trains.ColumnHeaders.Add(, , 'Arrivée', LV_Trains.Width / 4)
Call LV_Trains.ColumnHeaders.Add(, , 'Heure', LV_Trains.Width / 4)
'-----------

Rem Ajout de la première ligne
Set wItem = Me.LV_Trains.ListItems.Add(, , 'Chambéry')
wItem.SubItems(1) = '06:00'
wItem.SubItems(2) = 'Paris'
wItem.SubItems(3) = '09:15'
wItem.SmallIcon = 'AA'

Rem Ajout de la deuxième ligne
Set wItem = LV_Trains.ListItems.Add(, , 'Chambéry')
wItem.SubItems(1) = '15:30'
wItem.SubItems(2) = 'Lyon'
wItem.SubItems(3) = '17:15'
wItem.SmallIcon = 'AA'
End Sub



bonne soiree
MichelXld
MichelXld est déconnecté   Réponse avec citation
Vieux 20/10/2005, 18h43   #5 (permalink)
XLDnaute Barbatruc
 
Avatar de ChTi160
 
Date d'inscription: février 2005
Localisation: Savigny le Temple 77176
Version Excel : Excel 2007 (PC)
Messages: 3 077
Envoyer un message via MSN à ChTi160
Par défaut Re:ListView et Initialisation ListImage

Salut Michel

tout d'abord merci de veiller et de répondre à ces compléments d'infos
je suis aller sur ta page WiKi j'ai beaucoup appris
je viens de tester et ça marche

j'ai testé en faisant varier la valeur de LV_Trains.View = 0 to 3

peut on adapter ce code pour que cet Icone se situe dans l'entête de Colonne
aurais tu un syte à me conseiller pour en apprendre plus sur ce type de Control?

Merci par Avance
__________________
Amicalement Jean Marie

ChTi160 est déconnecté   Réponse avec citation
Vieux 20/10/2005, 19h48   #6 (permalink)
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 714
Par défaut Re:ListView et Initialisation ListImage

rebonsoir Jean-Marie

je ne sais pas s'il est possible de placer un icone dans les entetes de colonne

malheureusement je ne connais pas de site qui traite particulierement des ListView


bonne soiree
MichelXld
MichelXld est déconnecté   Réponse avec citation
Vieux 20/10/2005, 19h53   #7 (permalink)
XLDnaute Barbatruc
 
Avatar de ChTi160
 
Date d'inscription: février 2005
Localisation: Savigny le Temple 77176
Version Excel : Excel 2007 (PC)
Messages: 3 077
Envoyer un message via MSN à ChTi160
Par défaut Re:ListView et Initialisation ListImage

Re bonsoir Michel

merci pour ta réponse et l'intérêt que tu as porté à mon post
je vais continuer à chercher de si de la

bonne fin de Soirée
__________________
Amicalement Jean Marie

ChTi160 est déconnecté   Réponse avec citation
Vieux 22/10/2005, 22h14   #8 (permalink)
XLDnaute Barbatruc
 
Avatar de ChTi160
 
Date d'inscription: février 2005
Localisation: Savigny le Temple 77176
Version Excel : Excel 2007 (PC)
Messages: 3 077
Envoyer un message via MSN à ChTi160
Par défaut Re:ListView et Initialisation ListImage

bonsoir MichelXLD
bonsoir le fil
sans prétention mis ici on partage
donc Michel je me permet puisque tu ne savais si l'on pouvait mettre des icones dans les ent^tes de colonnes eh bien OUI j'ai cherché et j'ai adapté ce que j'ai trouvé
je me permettrai peut être de mettre un petit fichier exemple qui reprendra ces diverses possibilités d'adaptation des colonnes et autres entêtes de colonne.
Donc pour Info
Dim imgX As ListImage
après avoir approvisionné le ListImage
For i = 1 To 4

Set imgX = ImageList1.ListImages.Add(, 'AA' & i, LoadPicture(ThisWorkbook.Path & '\\' & 'img' & i & '.ico'))

Next
il faut lier les entêtes de colonne au listImage

Set LV_Trains.ColumnHeaderIcons = ImageList1

'ici rempli les entêtes de colonne avec une îcones 'AA4'ou 'AA3'
'sans texte en colonne 1
Call LV_Trains.ColumnHeaders.Add(, , , LV_Trains.Width / 4, , 'AA4')
'sans îcone en colonne 2
Call LV_Trains.ColumnHeaders.Add(, , 'Heure', LV_Trains.Width / 4)
'avec texte et îcone en colonne 3
Call LV_Trains.ColumnHeaders.Add(, , 'Arrivée', LV_Trains.Width / 4, , 'AA3')

Call LV_Trains.ColumnHeaders.Add(, , 'Heure', LV_Trains.Width / 4, lvwColumnCenter)
une autre méthode en colonne 1 on colle l'îcone d'index 2
LV_Trains.ColumnHeaders(1).Icon = 2

en espèrant avoir fait avancer le sujet Lol
A Bientôt

Message édité par: Chti160, à: 22/10/2005 22:24
__________________
Amicalement Jean Marie

ChTi160 est déconnecté   Réponse avec citation
Vieux 23/10/2005, 06h05   #9 (permalink)
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 714
Par défaut Re:ListView et Initialisation ListImage

bonjour Jean-Marie , bonjour Guy

Jean-Marie , bravo pour cette découverte et merci de la partager sur le forum

Si tu l'autorises, j'ajouterai ton exemple dans la wiki page consacrée aux ListView


bonne journée
MichelXld
MichelXld est déconnecté   Réponse avec citation
Vieux 23/10/2005, 10h38   #10 (permalink)
XLDnaute Barbatruc
 
Avatar de ChTi160
 
Date d'inscription: février 2005
Localisation: Savigny le Temple 77176
Version Excel : Excel 2007 (PC)
Messages: 3 077
Envoyer un message via MSN à ChTi160
Par défaut Re:ListView et Initialisation ListImage

Salut MichelXLD

bonjour le Forum
bonjour le Fil

Michel je suis très touché car tes pages Wiki m'apprennent beaucoup et c'est Ok pour compléter ce que tu as déjà fait

je vais comme je te l'ai dit mettre un fichier qui reprendra ce que j'ai trouvé concernant les ListView ce sont des adaptations de ce que j'ai trouvé sur le net(Merci aux personnes dont je n'ai pas relevées les noms)
par exemple:
Centrer une colonne de la Listeview
Call LV_Trains.ColumnHeaders.Add(, , 'Heure', LV_Trains.Width / 4, lvwColumnCenter)
ajuster la Largeur des colonnes à celle du Textevia une fonction RefreshLV LV_Trains
dans un Module Standart
Code:
Option Explicit
    Private Declare Function SendMessage Lib 'user32' Alias 'SendMessageA' (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Declare Function LockWindowUpdate Lib 'user32' (ByVal hwndLock As Long) As Long
   
    Private Const LVM_FIRST = &H1000
    Private Const LVM_SETCOLUMNWIDTH = LVM_FIRST + 30
    Private Const LVSCW_AUTOSIZE = -1
Code:
 Sub RefreshLV(LV_Trains As ListView)
   
       LockWindowUpdate LV_Trains.Hwnd
       Call SendMessage(LV_Trains.Hwnd, LVM_SETCOLUMNWIDTH, 0, LVSCW_AUTOSIZE)
  
       If LV_Trains.ColumnHeaders(1).Width < LV_Trains.Width Then
          If LV_Trains.Height > (LV_Trains.ListItems.Count * 270) Then
               LV_Trains.ColumnHeaders(1).Width = LV_Trains.Width - 80
           Else
               If LV_Trains.ColumnHeaders(1).Width < LV_Trains.Width - 320 Then
                   LV_Trains.ColumnHeaders(1).Width = LV_Trains.Width - 320
               End If
         End If
      End If
      LockWindowUpdate 0&
  
   End Sub
Trier les Colonnes
Code:
Private Sublv_ColumnClick (ByVal ColumnHeader As MSComctlLib.ColumnHeader)
    LV_Trains.SortKey = ColumnHeader.Index - 1
   LV_Trains.Sorted = True
    LV_Trains.SortOrder = lvwAscending
End Sub
colorer le texte des SubItems
Code:
Set subItm = wItem.ListSubItems.Add(, , '15:30')
    subItm.ForeColor = vbRed
donner la possibilité de modifier les SubItems etc ....
Bonne Journée
__________________
Amicalement Jean Marie

ChTi160 est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 21h10.


(C) 2006 Excel Downloads