Comment activer et désactiver une fonction attachée à une cellule

phmad

XLDnaute Nouveau
Bonjour,

Grâce à vous, j'ai des cellules qui désactive des boutons "oui" ou "non" dans un questionnaire que quelqu'un doit remplir.

En voici le code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Derli As Long, Li As Long, Col As Long

If Target.Count > 1 Or Target.Column > 6 Or Target.Row < 4 Then Exit Sub

Derli = Range("A65536").End(xlUp).Row
Li = Target.Row
Col = Target.Column

' clic en colonne A ou B pour initialiser
Select Case Col
Case 1, 2
If Target <> "" Then
Range("C" & Li) = "¡"
Range("E" & Li) = "¡"
Sheets("Echelles").Cells(Li, "D") = ""
End If

Case 3, 4
Cells(Li, 3) = "¤"
Cells(Li, 5) = "¡"
Sheets("Echelles").Cells(Li, "D") = "oui"

Case 5, 6
Cells(Li, 5) = "¤"
Cells(Li, 3) = "¡"
Sheets("Echelles").Cells(Li, "D") = "non"

End Select
End Sub


Je voudrais savoir s'il m'est possible de désactiver cette fonction, le temps que l'utilisateur remplisse le questionnaire, pour éviter qu'il fasse disparaître par erreurs ses propres choix (sur 600 questions, ce serait très ennuyeux) ; puis de la réactiver par la suite pour un nouveau questionnaire.

En m'expliquant la syntaxe du code, cela m'aidera aussi à comprendre votre démarche.


Merci de votre aide.
 

phmad

XLDnaute Nouveau
Re : Comment activer et désactiver une fonction attachée à une cellule

Re Bonjour Lio, et encore merci pour ton fichier.

Ta proposition pour le bouton qui désactiverait l'ensemble des choix me conviendrait parfaitement, et si en plus tu m'expliques le code, génial !

Je n'ai par contre pas pu retrouver la référence à une cellule qui empêcherait l'utilisateur de désactiver ses réponses, à moins que ton programme l'ai déjà prévu en l'empêchant de trop revenir en arrière, comme tu l'expliques dans ton post ?

Promis juré, je prendrai le temps à tête reposée de lire tout ton code pour m'y retrouver. Je pense par ailleurs que la remarque de Forum était injuste, car bien que je possède deux énormes livres sur Excel seul puis un sur VBA et au autre sur VBE, et que je les ai plus que consultés, ils sont le plus souvent laconiques sur des choses essentielles. La procédure des option buttons prend juste quelques lignes dans leur bouquin, et sur le net j'ai fouillé pas mal avant de tomber sur votre site.

Donc encore merci et bravo pour tout ce que vous faites, et merci de continuer. Philippe.
 

phmad

XLDnaute Nouveau
Re : Comment activer et désactiver une fonction attachée à une cellule

Message inutile que j'ai reécris, pensant que le précédent n'avais pas pu passer (bug de plusieurs minutes). Désolé.
 
Dernière édition:

nolich

XLDnaute Occasionnel
Re : Comment activer et désactiver une fonction attachée à une cellule

Bonjour le fil, bonjour à toutes et à tous :)

Ta proposition pour le bouton qui désactiverait l'ensemble des choix me conviendrait parfaitement, et si en plus tu m'expliques le code, génial !

Je n'ai par contre pas pu retrouver la référence à une cellule qui empêcherait l'utilisateur de désactiver ses réponses, à moins que ton programme l'ai déjà prévu en l'empêchant de trop revenir en arrière, comme tu l'expliques dans ton post ?

Je vais être très occupé ce matin. Je te ferai une proposition cet am, à moins qu'un autre l'ait fait avant moi :)

Dans le code, je n'empêche pas l'utilisateur de modifier une réponse, mais s'il fait un double click dans une des cases, c'est qu'il souhaite modifier sa réponse, non ? Si tu souhaites vraiment lui interdire cette possibilité, je peux le coder ou simplement lui demander une confirmation à l'aide d'une petite boîte de dialogue.

@+
 

phmad

XLDnaute Nouveau
Re : Comment activer et désactiver une fonction attachée à une cellule

Bonjour Lio et à tous les autres courageux et courageuses du site.

J'apprécie ta réponse après la sortie de Forum.

C'est toi qui vois par rapport à ton temps, mais ne te prends pas non plus trop la tête.

En effet, ce que tu as déjà fait me convient parfaitement, sachant que j'ai tout simplement verrouillé et protégé les questions, pour que la personnne ne puisse annuler ses autres choix, sachant que si elle change d'avis sur une question, il suffira qu'elle double clic sur la réponse opposée. Simple.

Idem pour un bouton désactivant tous les choix pour le questionnaire suivant. Je peux me débrouiller autrement. Il suffit que je fasse une macro de l'annulation des choix, ou plus simple encore, que je garde un fichier vierge original que je copie à chaque nouveau questionnaire.

En tous les cas vous ne pouvez imaginez à quel point vous m'avez rendu service, car d'une part je n'aurais jamais pu trouver par moi même la réponse pratique à ces questions (y compris sur le net, car je fus assez déçu de certaines solutions de programmeurs trop théoriques) ; et d'autre part je pourrais adapter cette trame à tous les questionnaires différents que j'aurai à élaborer. Donc encore un grand merci à vous tous (y compris à Forum que je salue).

Bon courage à tous et peut-être à bientôt quand je pataugerai encore.:confused:
 

Fo_rum

XLDnaute Accro
Re : Comment activer et désactiver une fonction attachée à une cellule

Salut,

Etant donné que tu insistes, phmad :

Tu aurais dû voir plus de bon sens que d’autre chose dans mes propos.

As-tu seulement testé cela ?
...
Sans VBA : Sélectionne 2 cellules "nettoyées" et tire les vers le bas, vers le haut. Deux coups de souris suffisent !!!
...

Chaque idée présente des avantages mais aussi des inconvénients et tous ceux-ci dépendent de l'utilisation de la « chose ».
Un bouton serait intéressant mais à condition, comme l’a si bien souligné nolich, de se prémunir de fausses manœuvres. Et là, la procédure devient moins simple pour un débutant !
Celle que je donnais ci-dessus, te permet de faire le même travail, plus laborieusement j’en conviens, mais avec plus de sécurité quant à la préservation des données déjà saisies et surtout moins de tracas de programmation !
Ce n'est pas une manœuvre "réflexe" comme un clic ou un double-clic mise à la disposition d'un utilisateur non averti.

A toi de choisir la suite mais sans moi !
 

nolich

XLDnaute Occasionnel
Re : Comment activer et désactiver une fonction attachée à une cellule

Bonjour le fil, bonjour Fo_rum et phmad, bonjour à toutes et à tous :)

Je suis vraiment désolé de la tournure que prennent les événements :(

Je vous demande, à Fo_rum et à phmad, d'éviter ces querelles intestines. Nous avons tous une passion ou un besoin d'XL. Je regrette presque d'être intervenu :( Peut-être n'aurai-je pas dû le faire.

Je vous supplie d'oublier ce fil et de vous dire, par exemple, que la vie est courte et que ces accrochages n'ont finalement pas une grande importance sur le chemin que l'on suit.

Maintenant, pour phmad : même si tu m'as dit que tu pouvais te "débrouiller" avec ton fichier actuel, je te propose un code un peu différent que celui que je t'avais indiqué. Je ne l'ai pas documenté, mais je peux le faire si tu le souhaites. En fait, j'ai trouvé un compromis entre le code que t'a proposé James007, mais avec un X en colonne H de ton questionnaire (police blanche sur fond blanc) à laquelle j'ai mis des bordures uniquement pour que tu puisses la repérer.

J'ai eu pas mal de problèmes au boulot et je n'ai pas eu le temps d'expliquer le code ni la façon dont j'ai créé le bouton de commande qui permet de réaliser ce que Fo_rum t'avait dit d'exécuter manuellement.

Le fichier est joint et n'hésites pas à poser des questions au besoin. Je pourrai, si tu le souhaites, t'expliquer le code plus en détail mais pas avant samedi.

Le bouton de commande pour tout remettre à zéro est dans la feuille "Echelles". Je n'ai pas tout testé donc n'hésite pas à me dire si tu repère des bugs (je dis bugs car la traduction française "bogues" ne me convient pas).

@+

PS : j'espère qu'il s'agit du bon fichier :)
 

Pièces jointes

  • Copie Mon Formulaire final2.zip
    26.8 KB · Affichages: 21
  • Copie Mon Formulaire final2.zip
    26.8 KB · Affichages: 22
  • Copie Mon Formulaire final2.zip
    26.8 KB · Affichages: 21

Discussions similaires

Statistiques des forums

Discussions
312 354
Messages
2 087 548
Membres
103 586
dernier inscrit
julie30620