Comment activer les boutons-options dans un frame?

Bonjour gelinotte

Je viens de le faire et ça marche !

Je vais créer un autre fichier d'essai pour voir et insérer les codes que tu m'as donnés (adaptés à ce nouveau fichier) et j'espère que tout marchera encore. Je pourrai alors le mettre définitivement sur mon site.

Merci gelinotte et Vive le Québec !

Bonjour gelinotte,

J'ai refait in nouveau fichier et j'y ai mis 3x5=15 boutons-option.

J'ai adapté le code que tu avais fait et je l'ai mis sur la feuille 1; j'ai aussi mis le code pour passer de la feuille 2 a la feuille 1.

MAIS le chiffre du bouton ne s'inscrit pas dans la case E2 !!

Pourrais-tu regarder ou j'ai fait une erreur?

Merci

Bruno

Bonjour,

Ici, ça fonctionne tel quel.

La création du nouveau fichier est un succès.

Et si tu changes de feuille manuellement et reviens, est-ce que ça fonctionne à nouveau ?

Gelinotte

P.S. une seule petite coquille, à la fin de la macro du bouton 15, il y a deux "End sub" de suite, il doit y en avoir juste un. Sinon, le code tombe en erreur et cesse de fonctionner.

Pour trouver ce genre d'erreur, dans VBE, pour tester tout le code, menu Débogage, Compiler VbaProject.

Bonjour gelinotte

J'ai changé la coquille et maintenant, tout marche comme il faut !!

Merci gelinotte.

Je vais pouvoir attaquer le frame définitif.

Quel est l'avantage d'un userbox sur un frame?

Bruno

PS: le code pour un frame de 50 boutons n'est pas si long que cela a faire!

Oui, la macro pour le passage feuille 2-feuille 1 fonctionne bien

Bonjour gelinotte

J'ai besoin de ton aide:

Ci-joint un fichier ou j'ai mis 5 états.

J'ai changé le code, mais cela ne fonctionne pas.

Pourrais-tu regarder et me dire ou et comment j'ai fait une erreur?

merci

PS: Si je veux que ce soit LE NOM ( Alabama, Texas, etc) qui s'inscrive dans la case E2 et pas des chiffres 1,2,3... Comment faire?

Bonjour,

Deux petites coquilles toutes simples.

Il faut faire la différence entre le nom de "l'OptionButton" et ce qui s'affiche le "Caption" (la légende) ...

Donc ce n'est pas : Set Bouton1 = Frame1.Controls("Alabama")

Mais bien : Set Bouton1 = Frame1.Controls("optionbutton1") << le nom de l'OptionBouton

Pour écrire le Caption dans la cellule E2 : Range("E2").Value = Frame1.Controls("optionButton" & i).Caption

Je crois qu'avec ceci, tu seras en mesure d'avancer significativement.

S'il y a autre chose, n'hésite pas ...

Gelinotte

Helas, non; je n'y arrive toujours pas. Ni pour le optionButton, ni pour la case E2.

Regarde un peu stp.

ci-joint le dernier essai que j'ai fait.

bruno

Bonjour,

Dans ce cas ... voir la pièce jointe ...

Gelinotte

Oui, cela marche.

Par rapport à ce que je t’ai envoyé en dernier, peux-tu me dire ce que tu as changé dans le code (mis à part le texte en vert, qui ne sert pas aux macros, n’est-ce pas ?)

Bruno

Car je vais devoir l'adapter a mon frame des 50 états!

Bonjour,

En fait, je t'ai retourné le fichier que j'avais.

Si je regarde le dernier que tu as soumis, dans la macro "Sub ActionSurBouton()", il y a un "For i = ... "

Si on a un "For x = ... ", il faut avoir un "Next x " pour boucler.

Juste avant le "End Sub", il te manque "Next i".

Une fois que tu as copié ou écrits du code, avant de le lancer, va dans le menu Débogage, Compiler VBAProject.

Ça donne un coup de main pour détecter certaines incohérences, tel le "Next i" manquant.

Gelinotte

Mais OU est-il ce menu DEBUG?

je ne l'ai pas trouve!

Bruno

Bonjour,

Quand tu es dans la fenêtre VBE et que tu vois ton code ... tout au haut, il y a un menu ...

priatel menu

Gelinotte

OK pour le debug.

Mais il y a qqchose que je ne comprends pas: Sur ce fichier, j'ai une macro pour le passage automatique de la page 2 a la page 1.

Comment la fais-je apparaître, car, quand j'appuie sur Visual Basic, je n'ai toujours que le mémé code, celui du frame?

Bruno

Bonjour,

Dans VBE, dans la colonne de gauche, il y a Sheets1, Sheet2, Sheets3, ThisWorkbook. On pourrait aussi avoir des Userform, des Module ou encore des Module de Classe.

Le code pour la Sheets1 peut se retrouver dans Sheet1. Mais, une partie pourrait aussi être dans un module. S'il est dans un module, il faudrait modifier un tantinet le code pour lui dire sur quelle Sheet on veut travailler. Par contre, il y a certaines actions que l'on ne peut pas déplacer le code, telle : " Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)". Cela s'apprend dans une formation ou à tâtons.

En double cliquant sur l'un ou sur l'autre, dans la colonne de gauche, tu peux y trouver du code. Le code pour changer de page est dans ThisWorkbook.

Gelinotte

Mais lorsque je vois le code de la sheet1 (voir extrait ci-joint), comment je fait pour voir le code qui est dans le workbook?

bruno

2016 10 26 17h40 47

Bonjour,

Ah! Ah! Il te manque la "Fenêtre des Projets".

Dans le menu Affichage, sélectionne : "Explorateur de Projets" ... le raccourcis clavier est : CTRL+R

La "Fenêtre Propriétés" ( F4 ) est aussi souvent bien utile.

Gelinotte

OK, j'ai vu!!!

Bon, demain ou ce soir, je vais voir pour faire le code pour mes 48 Etats des USA et je te dirai si c'est OK.

En tout cas, un grand merci d'avance

Bruno

Bonjour,

Au plaisir

Gelinotte

TE SAUVE PAS GELINOTTE!!

J'ai encore besoin de toi!

Ci-joint une copie de mon fichier definitif.

J'ai eu beau adapter les codes, ca ne marche pas.

La partie boutons-option est OK;

La partie changement de page est aussi OK

C'est la retranscription du nom des états dans la case L45 qui ne va pas!

Peux-tu regarder et corriger directement sur le fichier? (je n'aurai qu'a copier le code pour le mettre sur le fichier DEFINITIF)

Bien sur, je souhaiterais savoir ou je me suis trompé.

Merci

Bruno

Bonjour,

Tu peux dire que tu as réussi à me désennuyer ce soir.

Le Frame1 était complètement bogué. Je ne sais pas comment tu as réussi cela, mais c'était top.

Le Frame1 avait 51 objets, pas 48 tel qu'il l'eût dû.

J'ai passé des heures à tenter de faire apparaître ou supprimer les 3 OptionsButton supplémentaires invisibles (c'est vrai que Halloween approche ) . D'ailleurs, c'était ces 3 là qui étaient actifs. Comme ils étaient invisibles, impossible de les trouver, impossible de cliquer dessus, impossible de voir leurs propriétés même si par macro je pouvais changer les Caption ou leur position.

Les 3 autres que tu as ajoutés étaient visibles, mais ils ne réagissaient pas au clic de souris.

J'ai dû me résoudre à supprimer le Frame1 et à tout recréer.

J'ai laissé, dans la Sheet1, une macro "Position". Elle change la couleur du BackColor et du ForeColor des OptionButton, elle les positionne et les nomme selon la colonne "D" de la Sheet4.

J'espère avoir tout remis en place correctement.

@+

Gelinotte

Rechercher des sujets similaires à "comment activer boutons options frame"