TreeView rémanent..?

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N_Christian

XLDnaute Occasionnel
Bonjour, un super outil le TreeView. je m'en sers pour naviguer dans plus de 2500 fiches et c'est un plaisir....

La question de ce jour concerne une mémoire que je souhaite créer pour contabiliser les fiches traitées et les non traitées...
pour l'instant j'ai 0 et 1 dans la colonne c'est mon 'Status'.

Si je veux me servir de img01 et img02 pour notifier les fiches traitées. ( par exemple..)
Ya t'il moyen d'affecter img01 ou img02 en fonction du status de la fiche (la colonne ou il y a les 0/1) sur l'exemple que j'ai, elles suivent la sélection du node..!

j'arrive à pointer la ligne mais je ne sais pas modifier l'image...! est-ce au moins possible..?

Merci à tous Christian.
 
bonjour Christian

ce n'est pas évident de te répondre totalement sans voir la structure de ton classeur

dans un TreeView img2 sert uniquement à modifier l'image qui s'affiche , pour un noeud sélectionné

Lien supprimé



pour ton projet tu pourrais faire quelque chose de ce style (attribution d'un image différente en fonction de la valeur de maVariable )

....
Img1 = ThisWorkbook.Path & '\\LeChat.bmp'
Img2 = ThisWorkbook.Path & '\\2053851.jpg'
Me.ImageList1.ListImages.Add 1, 'Image1', LoadPicture(Img1)
Me.ImageList1.ListImages.Add 2, 'Image2', LoadPicture(Img2)

Set Me.TreeView1.ImageList = Me.ImageList1

For k = 1 To 5
If maVariable = 1 Then
TreeView1.Nodes.Add , , 'maClé1' & k, 'ParentNode' & k, 'Image1'
Else
TreeView1.Nodes.Add , , 'maClé1' & k, 'ParentNode' & k, 'Image2'
End If
Next
...


j'espere que ça pourra t'aider


bonne soiree
MichelXld
 
Merci Michel, je fais le test et je te tiens informé..
ce sera surement lundi, je n'ai pas tous les fichiers à la maison..
si j'avais su...!

c'est incroyable, la fréquentation de votre site.. j'ai remonté les jours... ya des réponses partout et pour tous... BRAVO..et merci.


Bonne nuit et bon WE
A+ Christian
 
Merci Michel, le treeview va bientot ne plus avoir de secret pour moi... encore 1ou 2 ans
bref c'est une autre histoire..
MERCI mes images bougent comme je veux.. YOUPI

Voila la partie de code que j'ai testé et qui marche ....
c'est beaucoup de lignes pour affecter 2 images identiques... mais je n'ai pas trouvé autres chose..

il me reste à voir la somme des nodes...si toutes les fiches sont remplie, l'image du node parent est 'vert' sinon elle est rouge.
Je peux le faire dans les cellules de feuill2..
avec la formule : =ARRONDI.INF(SOMME(G17:G19)/3;0)

j'ai peur que ce soit le brin lorsque je vais insérer des lignes.. j'ai environ 2500 fiches... Glups...!

je pars la dessus si tu as une idée.. je serais rassuré pour la suite..!
A+ Christian

Code initialisation treeView
Img1 = ThisWorkbook.Path & '\\Vert.jpg'
Img2 = ThisWorkbook.Path & '\\Rouge.jpg'
Me.ImageList1.ListImages.Add 1, 'Image1', LoadPicture(Img1)
Me.ImageList1.ListImages.Add 2, 'Image2', LoadPicture(Img2)

Set Me.TreeView1.ImageList = Me.ImageList1

For Each Cell In Feuil2.Range('A1:A39') 'adapter la plage de données
NumCol = Cell.End(xlToRight).Column
NumLig = Cell.Row

Status = 'G' & Format(NumLig) 'Mémoire fiche controlée


If NumCol = 2 Then
If Feuil2.Range(Status) = 1 Then
TreeView1.Nodes.Add , , 'maClé' & NumLig & NumCol, Feuil2.Cells(NumLig, NumCol), 'Image1', 'Image1'
' Si status = 1 image verte
Else
TreeView1.Nodes.Add , , 'maClé' & NumLig & NumCol, Feuil2.Cells(NumLig, NumCol), 'Image2', 'Image2'
' Si status = 0 image rouge
End If

Else
k = Feuil2.Cells(NumLig, NumCol).Offset(0, -1).End(xlUp).Row
j = Feuil2.Cells(NumLig, NumCol).Offset(0, -1).Column

If Feuil2.Range(Status) = 1 Then
TreeView1.Nodes.Add _
'maClé' & k & j, tvwChild, 'maClé' & NumLig & NumCol, Feuil2.Cells(NumLig, NumCol), 'Image1', 'Image1'
' Si status = 1 image verte
Else
TreeView1.Nodes.Add _
'maClé' & k & j, tvwChild, 'maClé' & NumLig & NumCol, Feuil2.Cells(NumLig, NumCol), 'Image2', 'Image2'
' Si status = 0 image rouge
End If

End If

Next
 
J'avance dans mon TreeView rémanent, je bloque sur l'affichage des images.. y en a 2 mais je ne peux accéder à une seule..

Ou est l'autre image....?

dans l'exemple de code que j'ai essayé, le résultat c'est que je redonne la fonction image 1 ou image 2 selon la sélection... moi je veux visualiser le status..

Status = 'G' & Format(TreeView1.SelectedItem.Index)
If Feuil2.Range(Status) = 1 Then
TreeView1.SelectedItem.Image = 'Image1'
TreeView1.Refresh
end if


je vous passe mon appli.. j'adapte ceci pour préparer des tests de fonctionnement chez un de nos client (2500 pts a controler )

A+ Christian [file name=arret2005.zip size=29624]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/arret2005.zip[/file]
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour