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

Résolu/Fermé
D277 Messages postés 34 Date d'inscription lundi 7 avril 2014 Statut Membre Dernière intervention 30 avril 2015 - 28 juin 2014 à 17:57
D277 Messages postés 34 Date d'inscription lundi 7 avril 2014 Statut Membre Dernière intervention 30 avril 2015 - 30 juin 2014 à 10:05
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 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
28 juin 2014 à 23:54
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 lundi 7 avril 2014 Statut Membre Dernière intervention 30 avril 2015
29 juin 2014 à 11:30
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 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
29 juin 2014 à 19:45
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 lundi 7 avril 2014 Statut Membre Dernière intervention 30 avril 2015
30 juin 2014 à 10:05
En effet, très bonne alternative. Je te remercie, je vais utiliser ce que tu as proposé.

Bonne journée

D277
0