colorier une cellule via checbox

kikii

XLDnaute Occasionnel
bonjour

qui aurais une idée de la manip a faire
j'ai plusieurs ligne dans excel

je voudrais que via un userform je selectione un numéro de dossier ce qui représente forecéement une ligne précise et de ce userform via checkbox je colorie la cellule en bleu quelquun a une idée?

merci d'avance.
 

fhoest

XLDnaute Accro
Re : colorier une cellule via checbox

Attention je remarque qu'il y a des et sur la ligne de code il se sont mis car j'ai voulu souligné ce que j'ai rajouté option souligné du forum il ne faut pas le mettre dans le code le code exact est:
Code:
If .Cells("I"& lig).interior.color = vbBlue Then Me.CheckBox1 = True
A bientôt.
 

kikii

XLDnaute Occasionnel
Re : colorier une cellule via checbox

Set table = Range("A" & lig & ":T" & lig) c'est ici que ça me met l'erreur a propos de la variable range pourtant je n'ai que recopier
If CheckBox1.Value = True Then
Sheets("Feuil1").Range("I" & lig).Interior.Color = vbBlue
For Each c In table
If c = "" Then c.Interior.Color = vbBlue
Next

End If
End Sub
 

fhoest

XLDnaute Accro
Re : colorier une cellule via checbox

Re ,
au moment du click es ce que lig <>"" ou <>0 c'est important,la gestion d'erreur est importante dans la programmation.
pour le savoir,
un petit espion est bienvenue ou un msgbox dans le code juste devant
Code:
msgbox lig
Set table = Range("A" & lig & ":T" & lig)[COLOR=#FF0000] c'est ici que ça me met l'erreur a  propos de la variable range pourtant je n'ai que recopier[/COLOR]
If CheckBox1.Value = True Then
 Sheets("Feuil1").Range("I" & lig).Interior.Color = vbBlue
 For Each c In table
 If c = "" Then c.Interior.Color = vbBlue
 Next
 
End If
A+
 

fhoest

XLDnaute Accro
Re : colorier une cellule via checbox

Bonjour,

Lig est égale a la ligne que tu as sélectionné par le recherche de ta textbox15 .
il a été instancier en haut du module par l'instruction
Code:
dim lig as long
on aurait pu mettre
Code:
 dim ligne as long
ensuite sous le bouton recherche tu as cette ligne
Code:
 lig = .Columns("A").Find(What:=TextBox15, LookIn:=xlValues).Row
elle veut dire : lig est égale à la valeur de la ligne (row) de la textbox15(what) trouvée(find) dans la colonne A.
voilà si ça peut éclairer ta lanterne.

Alors pour répondre a ta question, si j'ai bien compris tu parles de "lig".
Si c'est le cas , aussi longtemps que tu n'as pas fait de recherche avec le bouton chercher de ton userform et que la textbox15 et vide tu auras la valeur de lig=0 .
Tu peux soit pour éviter ce problème intialiser ta variable lig avec une valeur par défaut =1 par exemple ou gerer l'erreur de cette manière.
Code:
if lig=0 then exit sub
ou encore pour ne pas sortir de la procédure
Code:
if lig=0 then goto ici
msgbox "pas d'affichage de ce message si lig=0"
ici:
msgbox"valeur de lig = " & lig
ou encore peu conseiller
Code:
on error resume next
A bientôt.
 
Dernière édition:

kikii

XLDnaute Occasionnel
Re : colorier une cellule via checbox

Quand je click sur chaque checkBox c la phrase : Set table = Range("A" & lig & ":S" & lig) qui me se met en jaune et qui dit erreur exécution 1004 erreur globale range

alors que dans mon fichier test ça ne le fais pas ça marche tres bien
 

Fo_rum

XLDnaute Accro
Re : colorier une cellule via checbox

Bonjour,

Avec un minimum de boutons.
Je ne vois pas comment tu différencies,tu lies les cellules remplies et leur couleur : Peut-il y avoir des vides couleur ?
 

Pièces jointes

  • ListBoxOptions.xlsm
    23.7 KB · Affichages: 48
  • ListBoxOptions.xlsm
    23.7 KB · Affichages: 50
  • ListBoxOptions.xlsm
    23.7 KB · Affichages: 49

Discussions similaires

Réponses
8
Affichages
136

Statistiques des forums

Discussions
312 079
Messages
2 085 129
Membres
102 785
dernier inscrit
Clémence