Macro pour changer couleur d'une ligne avec une case à cocher

Résolu
D277 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
D277 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir à tous,

Voilà, pour un suivi de consommables, j'aimerai installer une colonne avec des cases à cocher, une par ligne.
Chaque ligne correspondant à une commande. Le but étant que lors de la réception de la commande, il suffit de cocher la case de la ligne correspondante pour changer de couleur et si on la décoche, qu'elle redevienne blanche.

J'arrive à faire une partie du boulot mais je n'arrive pas à intégrer l'argument correspondant à l'état "FAUX" de la case à cocher. J'ai essayé avec la case à cocher "Formulaire", mais est-ce que je dois travailler plutôt avec celle de la boîte à contrôle, ou appelée ActiveX ?

Merci d'avance

Bonne soirée

D277
A voir également:

3 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

tu devrais surtout travailler avec des X dans une colonne.
L'effet est le même, c'est plus simple que 500 case à cocher à gérer et surtout beaucoup plus léger pour excel.
En 4 lignes tu gères tout. Ex :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column <> 2 Or Target.Row = 1 Then Exit Sub
    Cancel = True
    If Target = "" Then Target = "X" Else Target = ""
    Cells(Target.Row, 1).Resize(, 6).Interior.ColorIndex = IIf(Target = "", xlNone, 35)
End Sub

Double-cliquer en B.

eric
0
D277 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Eric,

Déjà merci de ta réponse. Je comprends ton idée mais je ne comprends pas totalement ta macro. Je réserve donc la colonne B pour mettre des X mais l'histoire de ton double clic, je pige pas. Peux-tu m'en dire plus ?

Sinon, depuis hier, j'essaie tant bien que mal de créer une macro mais avec celle-ci, il me dis qu'il manque l'objet :

Sub Caseàcocher1_QuandClic()
LRéf = Selection.Row
If ["Caseàcocher1"].Value = True Then
Sheets("Feuil1").Select
Range(Cells(LRéf, 3), Cells(LRéf, 6)).Then
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
End If
If ["Caseàcocher1"].Value = False Then
Sheets("Feuil1").Select
Range(Cells(LRéf, 3), Cells(LRéf, 6)).Then
Selection.Interior.ColorIndex = xlNone
End If
End Sub


J'ajoute que j'ai travaillé avec un contrôle formulaire.

Bonne journée

D277
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Tu mets le code dans le module de la feuille concernée, un double-clic en B pose ou enlève le X et la couleur.
https://www.cjoint.com/c/DFDtS33SaYT

eric
0
D277 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
En effet, très bonne alternative. Je te remercie, je vais utiliser ce que tu as proposé.

Bonne journée

D277
0