Cocher une case avec VBA

Résolu
nathan027 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
 Amar -
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

  1. gyrus
     
    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
    1. nathan027 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   1
       
      PARFAIT !!!!! MERCI
      0
    2. Amar
       
      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
    3. Amar
       
      Bonjour gyrus,
      çà y est j'ai trouvé.
      Il suffit de mettre
      If( Target = "ABS" or Target="Abs" or Target="abs")

      Merci.
      0