Cocher une case avec VBA

Résolu/Fermé
nathan027 Messages postés 101 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 28 juin 2021 - 1 août 2019 à 09:28
 Amar - 14 août 2019 à 14:41
Bonjour

J'aurais besoin de votre aide s'il vous plait.

Voilà ce que j'aimerai faire :

Lorsque je coche la cellule D10, je voudrais que B10 et C10 se coche automatiquement (ou qu'un X apparaisse). je sais le faire avec une formule "SI" mais mon soucis c'est qu'on peut facilement effacer la formule.
Autre contrainte j'aimerai que ce code soit fonctionnelle sur toute la colonne en gros de D10 à D1000 (voir plus)

Je résume

Si je coche D10, B10 et C10 se coche aussi,
Si je coche D99, B99 et C99 se coche aussi.

J'espère que vous pourrez m'aider.

Merci beaucoup d'avance.

1 réponse

Bonjour,

Essaie avec ce code placé dans le module de la feuille
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo fin
Application.EnableEvents = False
If Not Application.Intersect(Target, Range("D10:D" & Rows.Count)) Is Nothing Then
If Target <> "" Then
Target.Offset(, -2).Resize(, 2) = "X"
Else
Target.Offset(, -2).Resize(, 2).ClearContents
End If
End If
fin:
Application.EnableEvents = True
End Sub

Cordialement.
1
nathan027 Messages postés 101 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 28 juin 2021 1
1 août 2019 à 13:08
PARFAIT !!!!! MERCI
0
bonjour gyrus,
Votre code est fort intéressent !
Mais comment le modifier si au lieu de cocher D10, j'écris dans la cellule D10 "ABS" ou "Abs" ou "abs" et seulement celà pour que B10 et C10 se cochent automatiquent?
Autrement rien ne se passe.
0
Bonjour gyrus,
çà y est j'ai trouvé.
Il suffit de mettre
If( Target = "ABS" or Target="Abs" or Target="abs")

Merci.
0