[VBA] Utiliser la valeur d'une cellule pour cacher 1 Frame

Résolu/Fermé
thesentry Messages postés 868 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 - Modifié par thesentry le 27/01/2014 à 10:58
thesentry Messages postés 868 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 - 28 janv. 2014 à 14:16
Bonjour,

Voilà,

J'ai 2 UF : UF1 et UF2.

Je suis sur l'UF1, lorsque je passe à l'UF2, le nom de l'UF1 se stock dans une cellule.
Une fois sur l'UF2, j'aimerai que lorsque je clique sur Valider, il me fasse disparaître un frame présent sur l'UF1.

Pour se faire, je voudrais utiliser le nom de l'UF1 que j'ai stocké. J'avais eu comme idée de déclarer X as Variant, de donner la valeur de la cellule à X et d'écrire

X.Frame1.Visible = False

J'ai aussi essayé ça :

Sheets("Feuil1").Range("A20").Value.Frame1.Visible = False

Mais bien sûr, ça ne fonctionne pas.

Une idée svp ?

PS : pourquoi ne pas tout simplement écrire MonUf.Frame.Visible = False... tout simplement car je n'ai pas que 2 UF, j'en ai plein donc il faut que ce soit générique, d'où le stockage du nom de l'UF.

En gros, je veux pouvoir réutiliser le nom de l'UF que j'ai "stocké".

Si ce n'est pas assez clair, dites le moi.

Merci
A voir également:

6 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
27 janv. 2014 à 11:22
Bonjour,

Je suis sur l'UF1, lorsque je passe à l'UF2 ...

L'UF1 reste active ou bien déchargée par un Unload ?


0
thesentry Messages postés 868 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 16
27 janv. 2014 à 11:30
Bonjour Polux31,

Il n'est ni déchargé ni caché.
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
27 janv. 2014 à 11:38
La meilleur solution reste MonUf.Frame.Visible = False.
Stoker le nom de l'UF ne sert à rien. Ce genre de comportement d'un objet ne peut pas être générique.
0
thesentry Messages postés 868 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 16
27 janv. 2014 à 12:17
Oui mais ça ne sera pas optimisé...mais bon si là est la seule solution, j'vais faire ainsi.
0
thesentry Messages postés 868 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 16
Modifié par thesentry le 27/01/2014 à 12:25
Ou bien, stocker le nom de mon UF dans une cellule et écrire à chaque fois

If Sheets("Feuil1").Range(A1).Value = MonUF.Name Then
MonUf.Frame1.Visible = False
End If

Et faire ça avec tous les UF que j'ai...
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
27 janv. 2014 à 11:55
Bonjour a vous deux,

c'est faisable sans probleme: variable public object

https://www.cjoint.com/?DABl007SPvE


thesentry:
mais comment allez vous gerer les actions en fonction de l'UF a piloter ????
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
27 janv. 2014 à 12:05
Bonjour f894009,

Je n'ai pas dit que c'était impossible ^^
J'ai eu la même réflexion concernant la gestion des UF ... d'où "La meilleur solution reste MonUf.Frame.Visible = False".
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
27 janv. 2014 à 12:08
Re,

Ok, nous somme d'accord, va pas etre simple a gerer
0
thesentry Messages postés 868 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 16
27 janv. 2014 à 12:10
Bonjour,

Votre code semble se rapprocher de ce dont j'ai besoin.

Cependant, pas sûr que ça marche dans le cas où j'ai plusieurs UF (cf mon indication dans le message suivant).
0
thesentry Messages postés 868 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 16
27 janv. 2014 à 12:09
Je vais détailler un petit peu plus ce que j'ai :

J'ai 10 UF "normaux".

J'ai 4 UF "pop-up".

Les 4 UF "pop-up" sont présent pour chaque UF "normal" (un même UF "pop-up" est rattaché à 10 Uf "normaux").

Si j'ouvre l'UF "normal" 5, et que je clique sur la première option, je vais avoir l'UF "pop-up" 1 qui va s'ouvrir. Lorsque sur cet UF "pop-up" je vais cliquer sur Valider, le Frame1 de l'UF "normal" 5 contenant la première option devra disparaître.
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
27 janv. 2014 à 12:23
4 pop-up par UF ... ce n'est peut être pas la peine de monter une usine à gaz pour s'éviter quelques lignes de codes ...
0
thesentry Messages postés 868 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 16
27 janv. 2014 à 12:32
Non, je me suis peut être mal exprimé :

Ces 4 pop-up sont pour les 10 UF normaux. Donc en tout et pour tout, j'ai 14 UF.
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
27 janv. 2014 à 12:53
Ça j'ai compris !!!

4 UF "pop-up" sont présents pour chaque UF "normal"
1 UF normal -> 4 pop-up ...

Et 1 pop-up -> 10 UF.

La proposition de F894009 dans son exemple peut être appliquée avec une variable globale public object. Il faudra instancier l'objet dans la méthode d'appel du pop-up.
0
thesentry Messages postés 868 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 16
Modifié par thesentry le 27/01/2014 à 14:10
Ta participation est la bienvenue et agréable. Mais reste calme hein ;-)

En d'autres termes, ça donne quoi le "une variable globale public object. Il faudra instancier l'objet dans la méthode d'appel du pop-up."?
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
27 janv. 2014 à 14:36
Re,

Juste de passage. Regardez l'exemple que j'ai mis Lien (#4)
0
thesentry Messages postés 868 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 16
Modifié par thesentry le 27/01/2014 à 14:48
Re,

Je vous ai répondu tout à l'heure... je vois à peu prêt le fonctionnement.
Mais est-ce applicable pour 10 UF ?

Le fait de mettre USF = Me retient seulement l'UF actif ? (je débute, je m'exprime peut être mal...)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
thesentry Messages postés 868 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 16
Modifié par thesentry le 28/01/2014 à 11:10
Re,

J'ai essayé de l'incorporer dans mon programme mais ça ne fonctionne pas.

J'ai déclaré sur l'UF le
Set USF = Me
, je l'ai mis dans Private Sub UserForm_Initialize et dans un de mes pop up (pour le test), j'ai mis

USF.Frame1.Visible = False
USF.CommandButton4.Visible = True


Mais ça ne fonctionne pas, au débogage, il me dit qu'un objet est requis. Mais dans l'idée, c'est comme le code de f894009...
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
28 janv. 2014 à 11:05
Bjr,

Private Sub OptionButton1_Click()
    Set USF = Me
    KOREP.Show
End Sub 


Y-a-t'il un CommandButton4 sur l'UF ?
0
thesentry Messages postés 868 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 16
Modifié par thesentry le 28/01/2014 à 11:16
Oui il a bien un CommandButton4.

Mon Frame1 présente le parcours, une fois que l'utilisateur a cliqué sur l'étape qu'il veut, le pop-up approprié s'ouvre. Lorsqu'on clique sur "Valider" dans le pop up, il se ferme, le frame1 de l'UF disparaît et un bouton apparaît pour ré-afficher si besoin le frame1 pour une modification.

J'ai tout le temps :

Erreur d'exécution '424' :
Objet requis
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
28 janv. 2014 à 11:38
Un exemple d'utilisation = https://www.cjoint.com/c/DAClKewDepP ....
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
28 janv. 2014 à 11:43
Bonjour,

Facile!!!!!!
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
28 janv. 2014 à 11:50
Quoi donc ?
0
thesentry Messages postés 868 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 16
28 janv. 2014 à 12:14
Ah oui ça semble pas mal Polux31.

Question, à quoi sert le "option Explicit" ?
0