Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

case à cocher dans listbox pour mettre en couleur

papapaul

XLDnaute Impliqué
Cases cochées qui mettent en couleur.
Ce que je voudrais c’est simplement cocher ou décocher
à loisir : que la couleur se mette si j’ai coché et rien si pas coché.
Autant de fois que je veux tant que le usf est ouvert.
Mais surtout jamais la meme evidement.

J’y arrive pas, alors j’ai inventé un bouton
et un doubleclick mais ca marche pas très bien.
J’ai déjà posté la dessus, alors excusez moi d’y revenir mais
des couleurs différentes sur chaque item coché sans avoir besoin
de mes infâmes bidouillages, est-ce possible ?
J’ai tout fait grace à des tas de trucs et d’idées trouvés sur ce forum.
Merci à tous mais là je suis complètement paumé.

Au secours les pros.
 

Pièces jointes

  • USF_daltonv2.zip
    25.7 KB · Affichages: 74
  • USF_daltonv2.zip
    25.7 KB · Affichages: 74
  • USF_daltonv2.zip
    25.7 KB · Affichages: 88

papapaul

XLDnaute Impliqué
Re : case à cocher dans listbox pour mettre en couleur

Youpi je sais pas d'ou tu sors range"IV1" mais voila avec ce
nouveau code du sub inilistbox1() C'EST FORMIDABLE

Sub IniListBox1()
Dim Compte As Byte, Col As New Collection, Item As Variant, Cel As Range

Application.ScreenUpdating = False
With ActiveSheet
For Each Cel In Range(Cells(2, 1), Cells(Range("a65536").End(xlUp).Row, Range("IV1").End(xlToLeft).Column)) 'définit la variable plage
On Error Resume Next
If Left(Cel, 3) <> Item Then Col.Add Cel, CStr(Cel)
On Error GoTo 0
Next Cel

ListBox1.Clear
For Each Item In Col

For Each Cel In Range(Cells(2, 1), Cells(Range("a65536").End(xlUp).Row, Range("IV1").End(xlToLeft).Column)) 'définit la variable plage
If CStr(Cel) = CStr(Item) Then Compte = Compte + 1
Next Cel
If Compte > 1 Then
ListBox1.AddItem Item
ListBox1.List(ListBox1.ListCount - 1, 1) = Compte
End If
Compte = 0
Next Item
End With
Set Col = Nothing
Application.ScreenUpdating = True
End Sub

A PLUSIEURS ON REUSSI

Merci à tous et particulierement bebere et jean-yves

Reste à voir si ca marche vraiment avec n'importe quel autre fichier.

Je remets ca au propre ce soir et si c'est ok je le mets à dispo.

VIVE XLD
 

Pièces jointes

  • USF_dalton_RESOLU.zip
    27.5 KB · Affichages: 32

papapaul

XLDnaute Impliqué
Re : case à cocher dans listbox pour mettre en couleur

Précision
Faut mettre les proprietes du usf en show modal = false
pour qu'il reste afficher dans une grande feuille avec plein de lignes.
Dans la version RESOLU, c'est la grosse D )

Et puis dans le userform_initialize()
mettre activeworkbook au lieu de thisworkbook
Ca devrait marcher

Merci à tous
 

JYLL

Nous a quitté
Repose en paix
Re : case à cocher dans listbox pour mettre en couleur

re bonsoir Papapaul et toute l'équipe,

la ligne suivante donne la dernière cellule occupée dans la colonne A en partant du bas


Range("a65536").End(xlUp).Row

la ligne suivante donne la dernière cellule occupée dans la première ligne en partant de la colonne la plus à droite.

Range("IV1").End(xlToLeft).Column


et comme dans les deux cas elles renvoient un chiffre tu es obligé d'utiliser Cells (x,y) et mon RANGE. Il faux également penser à mettre Cstr(cel) pour que cela fonctionne avec les nombres.

Bon test.

PS: Regarde ta boîte de courier xld, je t'ai envoyé un message.
 

Bebere

XLDnaute Barbatruc
Re : case à cocher dans listbox pour mettre en couleur

bonsoir le fil
ou il y a des changements j'ai mis le code existant en commentaires
si je trouve encore une amélioration,je l'envoye
bonne soirée
 

Pièces jointes

  • USFpapapaul.zip
    20.8 KB · Affichages: 27
  • USFpapapaul.zip
    20.8 KB · Affichages: 27
  • USFpapapaul.zip
    20.8 KB · Affichages: 28

papapaul

XLDnaute Impliqué
Re : case à cocher dans listbox pour mettre en couleur

Encore une petite precision
Si y a vraiment beaucoup de doublons ca coince
alors faut faire une sorte de boucle sur les couleurs

juste en dessous de coul = coul + 1
on met if coul = 46 then coul = 6

6 et 46 sont des exemples, je crois que la table xl
propose 50 ou 53 couleurs, et 6 est la couleur choisi ici au depart
ou peut mettre a partir de 35 au lieu de 6
pour avoir des couleurs plus pastel.

vive les xldeurs
 

JYLL

Nous a quitté
Repose en paix
Re : case à cocher dans listbox pour mettre en couleur

Re bonsoir,

J'ai modifier ton classeur, j'ai enlevé les private sub des feuilles, maintenant cela fonctionne avec toutes les feuilles tu ne testais pas sur le bon éveinement. Là où tu avais en commentaire coul=0, j'ai mis coul=coul+1 car quand on passait dans le ELSE la couleur restait identique.

Tu testes et dis moi si cela t'avance un peu.
 

Pièces jointes

  • USFpapapaul.zip
    23.5 KB · Affichages: 43
  • USFpapapaul.zip
    23.5 KB · Affichages: 42
  • USFpapapaul.zip
    23.5 KB · Affichages: 42
Dernière édition:

papapaul

XLDnaute Impliqué
Re : case à cocher dans listbox pour mettre en couleur

Vous êtes tout simplement sidérants
Vous avez parfaitement compris ce que j'essaye de faire.

Je suis sur le C..
Mais ca va presque trop vite, je débute moi.
Alors avec tout ce que vous m'offrez, 2 approches un peu
différentes, un foisonnement de nouveautés pour mon
petit niveau, j'ai besoin de temps pour bien remettre à
plat mes vieux neurones.
J'étudie tout ca et vous dis des que je peux ou
j'en serais arrivé. Sur en tout cas que vous me gatez.

Au fait, Camaret je sais ou c'est, mais Tongres ?

Si bebere connait le Plateau je meures.

Merci 40 000 milles fois et tres sincerement,
si on se revoit pas d'ici la :BONNE ANNEE 2007
 

JYLL

Nous a quitté
Repose en paix
Re : case à cocher dans listbox pour mettre en couleur

re papapaul,

Tongres c'est en Belgique prés de Liège et de Maastricht.

Bonne soirée.

J'ai complété mon message privé.

 

Bebere

XLDnaute Barbatruc
Re : case à cocher dans listbox pour mettre en couleur

bonsoir
eh bien j'habite à Vreren(grand route Tongres Liège) et Tongres est à 5 km
et je connais le plateau mais reste avec nous
allez papapaul n'oublie pas de digérer
à bientôt
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…