Utilisation case d'option

Bonjour à tous,

Je rencontre un problème lors de l'utilisation des "case d'option" dans les contrôles de formulaire.

Dans le principe, j'ai une liste d'EPI et sur chaque ligne, il faut cocher soit "oui" soit "non".

Simple dans la théorie..

Dans les faits, je rencontre un gros problème pour lier 1 "oui" avec 1 "non" sur la même ligne..

Au début (après avoir découvert les "zone de groupe"), ca semble fonctionner et d'un coup les liens changent et plus rien ne fonctionne..

Dans l'exemple ci dessous, en ouvrant le fichier ce matin, sans rien toucher, les liens de la ligne 15 sont mélangés avec la ligne 20...

image

J'ai essayé d'utiliser l'option "regroupement" mais ca ne semble rien apporter..

Autre problème, impossible de faire un copier coller afin de gagner du temps, a chaque fois ca change les lignes du dessus.

Quelqu'un a t'il la solution à ce souci?

Je vous remercie,

13test.xlsm (41.94 Ko)

Bonjour

Pour chaque Oui ou Non, il faudrait que le format de controle (click droite sur le Oui et le Non) soit attribué à la bonne ligne

Autre suggestion : et si vous remplaciez ces boutons d'option par une case à cocher ?
Si oui, on pourrait faire ceci
- Colonne H : une case à cocher
- Colonne I : Oui ou Non

Si H cochée on aurait Oui en I
Si H non cochée on aurait Non en I

Au final vous auriez ceci

image

Crdlt

supprimé, même proposition que Dan

re,

En attendant votre retour, voici les étapes à suivre si ma proposition dans mon post précédent vous convient.

- Supprimez les boutons d'option Oui et Non dans les deux colonnes H et I
- Supprimez les formules en colonne L
- en K13 mettez cette formule --> =SI(INDIRECT("I" & LIGNE())="Non";"";A13)
- click droite sur le nom de l'onglet "Feuil2" et choisir l'option "Visualiser le code"
- Collez le code ci-dessous dans la fenêtre

Option Explicit
Dim stpevt As Boolean
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim dlg As Integer

If stpevt = True Then Exit Sub
If Target.Count > 1 Then Exit Sub
dlg = Range("B" & Rows.Count).End(xlUp).Row
If Not Intersect(Target, Range("H6:H" & dlg)) Is Nothing Then
    stpevt = True
    On Error GoTo fin
    With Target
        .Font.Name = "Wingdings 2"
        .Font.Size = 12
        If .Value = "R" Then
            .Value = "£": .Offset(0, 1) = "Non"
        Else: .Value = "R": .Offset(0, 1) = "Oui"
        End If
        .Offset(0, 1).Select
    End With
End If
fin:
stpevt = False
End Sub

Faites un test en cliquant dans la colonne H. Cela devrait donner ceci si vous avez bien suivi les étapes

image

Si ok, pensez à cloturer le fil

Cordialement

Super merci pour vos retours,

La solutions fonctionne très bien, du coup je pars la dessus, c'est gentil !

J'ai tout de même essayé de faire fonctionner les cases d'options mais rien a faire.. certaines se couplent par 3 ou 4 au lieu de 2..

Pas grave pour ca.

Merci beaucoup a vous

Rechercher des sujets similaires à "utilisation case option"