Grand nombre d'optionbutton....
#1
Aspirant XLPages

Inscription: 01/07/2008

Messages: 32

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 29-12-2008 23h18

Bonjour tout le monde !

 

J’ai besoin de votre aide car j’ai beau essayer, je n’y arrive pas ! J'ai fait quelque chose de compliqué alors qu'à mon avis il y a surement moyen de faire beaucoup plu simple. Comme vous m’aviez super bien aidé par le passé, je me tourne une nouvelle fois vers vous …

 

Présentation de mon fichier excel :

 

En gros, je cherche à faire une check list pour vérifier qu’aucun article n’a été oublié.

 

Dans la colonne C de mon fichier Exel j’ai deux optionbuttons, de la ligne 11 à la ligne 219 (ce qui fait en tout 348 optionButtons car certaines lignes n’en ont pas. J'ai du réduire le nombre d'optionbutton dans le fichier joint pour que mon fichier puisse passer...) Pour chaque ligne, l’optionbuton intitulé « No » permet de dégriser et autoriser l écriture de la cellule en colonne D. L’optionbutton « Yes » permet de dégriser et autoriser l’écriture des cellules allant de la colonne D à la colonne Y.

 

Mon problème :

 

1)      Mes macros fonctionnent mais j’ai du répéter le code des deux optionbutton 348 fois juste pour changer à chaque fois le numéro de ligne dont ils font référence.

2)      Lorsque j’insère une ligne, je n’ai plus qu’à tout rechanger manuellement les numéros des lignes auxquelles font référence mes optionbuton dans les macros puisque tout ce décale, ce qui est une énorme perte de temps.

 

Question :

 

1)      Y’ a-t-il moyen de ne faire que deux macro, une pour l’Optionbutton « Yes » et l’autre pour l’Optionbutton « no » valable pour toutes les 348 lignes de mon fichier ? Pouvez vous me dire quel code il faudrait que je mette svp ?

2)      Puis je faire la même chose pour le calendrier qui se trouve en colonne R (ce qui m’éviterait de mettre la même userform pour chaque ligne ainsi que son code juste pour spécifier le numéro de ligne) ?

 

Merci à vous pour votre aide !!!


Pièce jointe:
zip Exemple.zip   [ Taille: 73.65 Ko - Téléchargements: 702 ]
Hors Ligne
Rapport   Haut 

Re: Grand nombre d'optionbutton....
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 30-12-2008 00h59

Bonsoir lannou,

Ton problème est bien expliqué et l'exemple est clair...

Cela dit, j'ai bien peur que tu cours tout droit à la catastrophe avec ton fichier ! 348 contrôles ActiveX dans un seul classeur (et même une seule feuille là) et évènements VBA associés, ce n'est franchement pas une bonne idée ... J'ai vu des usines à gaz Excel exploser pour moins que ça !

Je vais essayer de te proposer une autre façon de faire (à prendre ou non), mais avant cela, il faut que je comprenne l'objectif exact de ton projet...

Je résume la situation sur une seule ligne :

- Au départ, aucun des options boutons n'est à True : seule la colonne C est accessible.
- Je sélectionne "non" : la colonne D devient à son tour accessible.
- Je sélectionne "oui" : TOUTE la feuille est déverrouillée (sur toutes les lignes !)

Question 1 : pour cette seule ligne, il n'est plus possible de revenir à la position de départ (aucun option bouton sélectionné), est-ce normal et voulu ?

Question 2 : sélectionner "oui" quelque part, déverrouille la feuille dans son ensemble. Est-ce normal ?

Question 3 : (la plus importante ici)... à quoi ça sert tout ça ? Je comprends qu'on veuille des fois verrouiller ou déverrouiller des zones de feuille, mais dans ce cas, pourquoi en laisser le choix à l'utilisateur ? Quel est l'intérêt et pourquoi cette distinction colonne D et le reste ?

Cordialement,


Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Grand nombre d'optionbutton....
#3
Aspirant XLPages

Inscription: 01/07/2008

Messages: 32

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 30-12-2008 23h25

Merci pour ta réponse super rapide ! Oui c’est bien ce que je pensais, une vraie usine à gaz….Alors pour répondre à tes commentaires (mes réponses sont en rouge)

 

Je résume la situation sur une seule ligne :
- Au départ, aucun des options boutons n'est à True : seule la colonne C est accessible / Vrai, l’utilisateur doit obligatoirement cliquer sur l’un des deux option button
- Je sélectionne "non" : la colonne D devient à son tour accessible / Vrai, la colonne D devient à sont tour accessible et devient blanche
- Je sélectionne "oui" : TOUTE la feuille est déverrouillée (sur toutes les lignes !) / Non qd je sélectionne oui, seulement les cellules allant de la colonne B jusqu’à la colonne Y de la ligne sélectionnée sont accessibles

 

 

Question 1 : pour cette seule ligne, il n'est plus possible de revenir à la position de départ (aucun option bouton sélectionné), est-ce normal et voulu ? Oui c’est voulu puisque au moins l’un des deux optionbutton de chaque ligne doit être saisi.


Question 2 : sélectionner "oui" quelque part, déverrouille la feuille dans son ensemble. Est-ce normal ? Non ca devrait juste déverrouiller les colonnes de A à Y de la ligne sélectionnée et pas les autres

Question 3 : (la plus importante ici)... à quoi ça sert tout ça ? Je comprends qu'on veuille des fois verrouiller ou déverrouiller des zones de feuille, mais dans ce cas, pourquoi en laisser le choix à l'utilisateur ? Quel est l'intérêt et pourquoi cette distinction colonne D et le reste ? Cela fait plusieurs questions…. . Alors l’idée est de faire une check list. Dans la colonne B des noms d’articles sont pré-rentrés. Comme nous l’avons vu, l’utilisateur à pour obligation de valider au moins un optionbutton par ligne. Si, l’utilisateur ne prend pas l’article en considération, il coche « non » et doit justifier pourquoi dans la cellule colonne D. Si il répond « oui », il doit remplir les colonnes allant de D à Y.

 

J’espère avoir été clair et avoir répondu précisément à tes questions. Si ce n’est pas le cas, n’hésites surtout pas à me faire répéter ou compléter tes interrogations.

 

Merci beaucoup de ton aide !

Hors Ligne
Rapport   Haut 

Re: Grand nombre d'optionbutton....
#4
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 31-12-2008 10h59
Bonjour lannou, le Forum,

Tout d'abord, je te confirme qu'en sélectionnant un option bouton "yes", c'est bien toute ta feuille qui est déverrouillée (tu n'as qu'à essayer avec le classeur que tu joins plus haut). D'ailleurs, ça ne peut être autrement puisque tu déverrouilles la feuille, mais ne la reverrouilles pas dans les évènements correspondants.

D'autre part, il y a un truc que je ne m'explique pas : quelque soit l'option bouton choisi, la colonne D sera toujours à renseigner. Alors quel est l'intérêt de verrouiller cette colonne D au départ et d'obliger l'utilisateur à sélectionner un option bouton pour faire ce qu'il devra faire de toutes façons : saisir quelque chose en colonne D ?

L'un de nous deux doit avoir l'esprit tordu... mais je pense que tu compliques le boulot de l'utilisateur et je ne vois vraiment pas l'intérêt de la démarche. Pour moi, VBA ça doit rester au service de la simplification, pas le contraire.

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Grand nombre d'optionbutton....
#5
Aspirant XLPages

Inscription: 01/07/2008

Messages: 32

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 02-01-2009 15h29

Bonjour à tous !

 

Il est vrai que la colonne D va, dans tous les cas, être à remplir. Je comprends donc ton interrogation car il est vrai que ce serai plus simple qu’elle soit toujours accessible (chose qui justement était faite dans l’ancien fichier).

Cependant, c’est un souhait de ma part pour deux raisons :

1)      les informations de ce fichier sont importantes, or il est aujourd’hui très peu utilisé pas les utilisateurs car il n’est pas « attractif ». Un des objectifs des optionbutton est de rendre attractif le fichier !

2)      Le peu de personne qui utilise ce fichier ne le remplisse pas correctement car toutes les cases sont libres et ils remplissent les cases qui les arrangent. Ainsi la colonne D qui est importante puisqu’elle demande la justification du choix de la prise en compte de l’article ou pas, n’est pratiquement jamais remplie. Le fait de libérer la colonne D rappelle à l’utilisateur de compléter cette dernière.

 

Pour résumé, ce choix a un but « pédagogique », c'est-à-dire de guider (ligne par ligne et colonne par colonne) l’utilisateur lorsqu’il remplit le fichier. L’idée par l’intermédiaire de ces deux optionbuttons est de rendre attractif le fichier donc d’améliorer son remplissage par les utilisateurs donc de capitaliser l’expérience (savoir pourquoi cet article n’a pas ou contraire pourquoi il a été retenu) et par conséquent d’améliorer par la suite notre activité à CQFD 

 

De plus le fait que les lignes soit grisées ou pas permet de voir d’un coup d’œil rapide le nombre d’articles retenu, chose qui n’est pas évidente lorsque toutes les lignes sont libres et non uniformément remplies.

 

J’ai donc crée ces deux macros qui fonctionnent mais qui ne sont pas optimisées, puisque telle qu’elles sont programmées :

-         je dois pour chaque optionbutton faire une macro juste pour faire référence à la ligne ce qui est une perte de temps et source d’erreur

-         si j’insère une nouvelle ligne entre deux articles déjà existants pour en créer un nouveau, l’effet des macros des optionbuttons se décalent.

 

D’où mon premier poste…

 

Je suis sur que c’est possible de créer juste deux macro l’une pour l’ optionbutton « Yes » et une autre pour l’ optionbutton « No ». Il faudrait que dans ces deux macros, lorsque l’utilisateur clique sur un des 2 optionbutton, le programme reconnaisse la ligne de l’optionbutton saisi et active les cellules nécessaires de la ligne suivant l’optionbutton sélectionné. Ainsi, si dans le futur je souhaite insérer une nouvelle ligne pour un nouvel article, je pourrai le faire sans me retaper les 350 macros justes pour changer le numéro de ligne ! Mais malgré mes progrès en VBA depuis mon premier poste sur ce forum, mes connaissances s’arrêtent là snif !

 

Voili voilou.

 

++

Hors Ligne
Rapport   Haut 

Re: Grand nombre d'optionbutton....
#6
Débutant XLPages

Inscription: 19/04/2008

Messages: 16

Système d'exploitation:
PC
Version Excel utilisée:
2003, 2007
Posté le : 02-01-2009 22h52
Bonsoir, lannou,

Didier, bonsoir, également

J'en suis pas loin

Vous avez un peu de patience?
Hors Ligne
Rapport   Haut 

Re: Grand nombre d'optionbutton....
#7
Débutant XLPages

Inscription: 19/04/2008

Messages: 16

Système d'exploitation:
PC
Version Excel utilisée:
2003, 2007
Posté le : 03-01-2009 13h00
Bonjour,

Bonjour, le forum

lannou, dans le fichier joint, j'ai inséré 2 boutons

Le premier, qui ne fonctionne que si tu as le bon mot de passe (lannou), supprimes tous les boutons d'option de la feuille, verrouille toutes les cellules de la colonne D à la colonne Y, de la ligne 11 à la dernière ligne écrite dans la colonne B.
Mets la hauteur des lignes à 33.
Puis insère 2 OptionButtons par ligne.
Le code est assez long (en gros 30 secondes pour 348 lignes)....
A l'ouverture du fichier, tous les boutons d'option sont regroupés dans un module de classe, et si tu cliques sur "Yes", les cellules de D à Y se colorient en vert, et sont déverrouillées.
Si tu cliques sur "No", uniquement la cellule D
Suite à l'ajout de boutons d'options, il faut que tu réinitialises, en appuyant sur le bouton "Initialisation"

Pièce jointe:
zip lannou_v1.zip   [ Taille: 68.37 Ko - Téléchargements: 610 ]
Hors Ligne
Rapport   Haut 

Re: Grand nombre d'optionbutton....
#8
Aspirant XLPages

Inscription: 01/07/2008

Messages: 32

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 04-01-2009 23h03
Bonsoir le forum!!!!!

Merci bhbh pour avoir réfléchi à mon problème!!!!Malheureusement, je n'ai pas pu revenir sur le forum ces derniers temps du fait des fêtes... Aussi, je vais regarder demain la solution que tu me proposes et reviendrai en discuter sur ce forum demain ou après demain.

A+

Lannou
Hors Ligne
Rapport   Haut 

Re: Grand nombre d'optionbutton....
#9
Aspirant XLPages

Inscription: 01/07/2008

Messages: 32

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 05-01-2009 11h33

Bonjour le forum !

 

Merci bhbh pour tout le travail fourni ! J’aurai été incapable de faire tout ca ! Ca peut répondre pile poil à mon problème. On a  bien qu’une macro pour contrôler les optionbutton des differentes lignes et le verrouillage/dévérouillage suivant l’optionbutton coché est correct.

L’idée d’avoir un bouton pour gérer l’insertion d’une nouvelle ligne est génial.

Par contre, j’ai plusieurs questions :

-          lorsque j’appuie sur le bouton « si ajout de lignes, cliquez ici », il n’y a aucune ligne qui s’insère, est ce normal ?

-          Puis je choisir l’emplacement ou la ligne va s’insérer, par exemple si je veux que la nouvelle ligne s’insère avant la ligne 31 (en fait les articles sont classés par domaines d’utilisation, je dois donc pourvoir insérer une ligne où je veux…) ? Il faudrait peut être une petite userform demandant à l’utilisateur avant ou il veut que la ligne s’insère, non ?

-          A quoi sert le bouton « initialisation » ?

 

En espérant que mon problème soit résolu…

 

A+

Hors Ligne
Rapport   Haut 

Re: Grand nombre d'optionbutton....
#10
Aspirant XLPages

Inscription: 01/07/2008

Messages: 32

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 05-01-2009 20h52

Bonjour le forum !

 

Bien j’ai regardé une nouvelle fois le fichier. C’est presque nikel…. J’ai modifié ton code bhbh pour que ca fasse exactement ce que je souhaitais (j’ai pas modifié grand-chose ). Bref pour que ce soit parfait, quand j’ajoute une ligne et que je clique sur les deux boutons pour tous réinitialiser, il ne faudrait pas que je perde les données déjà saisies .

 

Par exemple : imaginons que les deux premières lignes soient déjà saisies, que sur la ligne 1 l’optionbutton est sur yes et  que sur la ligne 2, l’optionbutton est sur no. Si je décide d’ajouter une ligne entre la ligne 1 et 2 pour rentré une donnée que j’aurai oubliée, les macros actuelles font que toutes les données déjà saisies sont perdues !

 

So, the question is : quelle partie du code dois je modifier pour que je puisse ajouter une ligne sans perdre les données précédemment rentrées ???

 

SI on y arrive, je mets en résolu !

 

Merci pour votre aide !

 

A+





Pièce jointe:
zip lannou_v3.zip   [ Taille: 62.58 Ko - Téléchargements: 582 ]
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes