OVH Cloud OVH Cloud

Controles superposés (toujours pas de soluce)

7 réponses
Avatar
Laurent
Bonsoir,

Mercredi 11/11 j'exposait le pb suivant :
quand deux contr=F4les sont superpos=E9s, cliquer sur l'un=20
masque en partie ou totalement l'autre. Il m'a =E9t=E9 r=E9pondu=20
de rendre invisible celui qui masque.

Ca fonctionne mais ce n'est pas ce que je souhaite.

En fait j'ai sur une feuille differents controles qui me=20
servent :
- de fonds (un label se superpose =E0 un autre)
- des boutons (gestion des commande ajout, suppr, modif
- etc....
Donc rendre un label invisible n'est pas pour moi une=20
solution.
Utiliser un formulaire ne me r=E9jouit gu=E8re =E0 cause de son=20
mode modal (c kom ca k'on dit, non?)

Jouer avec les commandes d'arri=E8re plan ne permet pas de=20
le r=E9affichage l'ensemble.=20
le propri=E8t=E9 locked et enabled n'emp=E8chent pas la=20
superposition.

Bref je suis sans soluce.

Si quelqu'un pouvait me rediriger soit dans mon approche=20
soit dans la conception je lui serais grandement=20
reconnaissant.

Merci de vos r=E9ponses
Ps : je suis en excel 97

7 réponses

Avatar
Denis Michon
Bonsoir Laurent,


A ) Tu as combien de contrôles superposés ?

B ) Dans quel ordre les as-tu créés ? En partant de celui du dessous jusqu'à celui du dessus ?
Ces contrôles sont issus de quel barre d'outils (formulaire ou commande) ?

C ) Quel événement doit gérer le comportement des contrôles ?

D ) Qu'est-ce que les boutons doivent faire ? Et Quand ?



Salutations!



"Laurent" a écrit dans le message de news:0d2c01c3a978$075fbbb0$
Bonsoir,

Mercredi 11/11 j'exposait le pb suivant :
quand deux contrôles sont superposés, cliquer sur l'un
masque en partie ou totalement l'autre. Il m'a été répondu
de rendre invisible celui qui masque.

Ca fonctionne mais ce n'est pas ce que je souhaite.

En fait j'ai sur une feuille differents controles qui me
servent :
- de fonds (un label se superpose à un autre)
- des boutons (gestion des commande ajout, suppr, modif
- etc....
Donc rendre un label invisible n'est pas pour moi une
solution.
Utiliser un formulaire ne me réjouit guère à cause de son
mode modal (c kom ca k'on dit, non?)

Jouer avec les commandes d'arrière plan ne permet pas de
le réaffichage l'ensemble.
le proprièté locked et enabled n'empèchent pas la
superposition.

Bref je suis sans soluce.

Si quelqu'un pouvait me rediriger soit dans mon approche
soit dans la conception je lui serais grandement
reconnaissant.

Merci de vos réponses
Ps : je suis en excel 97
Avatar
laurent
Wahooooo!!!
que de questions...
Je vais essayer d'être clair.

Je dois avoir quelque chose comme 250 controles
Label1 : qui recouvre la partie apparente d'une feuille
excel (bloquée en déroulement)
Label2 centré sur label1 qui me permet de mettre en valeur
le contenu de label2.
Label3 bandeau inclu dans label2. Il contient des
boutonsde commande.
label4 sous bandeau de label3 qui contient aussi des
boutons de commande
label5 qui inclus un ensemble de textbox et listbox
(représente des lignes de saisie d'écriture)

Voilà pour un descriptif rapide.

L'ordre de création doit être celui cité. Mais mes essais
ont du le perturber. (pas grave, je peux refaire
facilement)

Chaque controles est accessible par souris (à l'exception
des labels qui ne doivent pas être recepteur d'évenement).
Les text box et listbox sont accessbles par tabulation et
flêche haute ou basse)

Les bouton de commande doivent piloter la mise à jour d'un
classeur non actif (SQL avec ADODB).

Voilà.

presque fastoche ;-)

Mais pour le moment mon problème est simplement graphique.

Merci
-----Message d'origine-----
Bonsoir Laurent,


A ) Tu as combien de contrôles superposés ?

B ) Dans quel ordre les as-tu créés ? En partant de celui
du dessous jusqu'à celui du dessus ?

Ces contrôles sont issus de quel barre d'outils
(formulaire ou commande) ?


C ) Quel événement doit gérer le comportement des
contrôles ?


D ) Qu'est-ce que les boutons doivent faire ? Et Quand ?



Salutations!



"Laurent" a écrit dans le
message de news:0d2c01c3a978$075fbbb0$

Bonsoir,

Mercredi 11/11 j'exposait le pb suivant :
quand deux contrôles sont superposés, cliquer sur l'un
masque en partie ou totalement l'autre. Il m'a été répondu
de rendre invisible celui qui masque.

Ca fonctionne mais ce n'est pas ce que je souhaite.

En fait j'ai sur une feuille differents controles qui me
servent :
- de fonds (un label se superpose à un autre)
- des boutons (gestion des commande ajout, suppr,
modif

- etc....
Donc rendre un label invisible n'est pas pour moi une
solution.
Utiliser un formulaire ne me réjouit guère à cause de son
mode modal (c kom ca k'on dit, non?)

Jouer avec les commandes d'arrière plan ne permet pas de
le réaffichage l'ensemble.
le proprièté locked et enabled n'empèchent pas la
superposition.

Bref je suis sans soluce.

Si quelqu'un pouvait me rediriger soit dans mon approche
soit dans la conception je lui serais grandement
reconnaissant.

Merci de vos réponses
Ps : je suis en excel 97


.



Avatar
LAurent
J'ai oublié de préciser que mes contrôles proviennent de
la barre d'outils commande.

Vais aller dodoter ca va me changer

Merci encore
-----Message d'origine-----
Wahooooo!!!
que de questions...
Je vais essayer d'être clair.

Je dois avoir quelque chose comme 250 controles
Label1 : qui recouvre la partie apparente d'une feuille
excel (bloquée en déroulement)
Label2 centré sur label1 qui me permet de mettre en
valeur

le contenu de label2.
Label3 bandeau inclu dans label2. Il contient des
boutonsde commande.
label4 sous bandeau de label3 qui contient aussi des
boutons de commande
label5 qui inclus un ensemble de textbox et listbox
(représente des lignes de saisie d'écriture)

Voilà pour un descriptif rapide.

L'ordre de création doit être celui cité. Mais mes essais
ont du le perturber. (pas grave, je peux refaire
facilement)

Chaque controles est accessible par souris (à l'exception
des labels qui ne doivent pas être recepteur d'évenement).
Les text box et listbox sont accessbles par tabulation et
flêche haute ou basse)

Les bouton de commande doivent piloter la mise à jour
d'un

classeur non actif (SQL avec ADODB).

Voilà.

presque fastoche ;-)

Mais pour le moment mon problème est simplement graphique.

Merci
-----Message d'origine-----
Bonsoir Laurent,


A ) Tu as combien de contrôles superposés ?

B ) Dans quel ordre les as-tu créés ? En partant de
celui


du dessous jusqu'à celui du dessus ?
Ces contrôles sont issus de quel barre d'outils
(formulaire ou commande) ?


C ) Quel événement doit gérer le comportement des
contrôles ?


D ) Qu'est-ce que les boutons doivent faire ? Et Quand ?



Salutations!



"Laurent" a écrit dans le
message de news:0d2c01c3a978$075fbbb0$

Bonsoir,

Mercredi 11/11 j'exposait le pb suivant :
quand deux contrôles sont superposés, cliquer sur l'un
masque en partie ou totalement l'autre. Il m'a été
répondu


de rendre invisible celui qui masque.

Ca fonctionne mais ce n'est pas ce que je souhaite.

En fait j'ai sur une feuille differents controles qui me
servent :
- de fonds (un label se superpose à un autre)
- des boutons (gestion des commande ajout, suppr,
modif

- etc....
Donc rendre un label invisible n'est pas pour moi une
solution.
Utiliser un formulaire ne me réjouit guère à cause de son
mode modal (c kom ca k'on dit, non?)

Jouer avec les commandes d'arrière plan ne permet pas de
le réaffichage l'ensemble.
le proprièté locked et enabled n'empèchent pas la
superposition.

Bref je suis sans soluce.

Si quelqu'un pouvait me rediriger soit dans mon approche
soit dans la conception je lui serais grandement
reconnaissant.

Merci de vos réponses
Ps : je suis en excel 97


.

.





Avatar
Denis Michon
Bonsoir Laurent,

Voici ce que j'ai compris. ce qui suit suppose que tes Contrôles proviennent de la boîte à outils "Commande".


Tu as plusieurs couches (au moins 2 ) de contrôles "Label". Chacun d'eux est contient plusieurs contrôles. À chaque fois
que tu veux rendre invisible un label, tous les contrôles de ce label doit aussi devenir invisible. (ton truc n'est pas
clair !!!!!!)

Voici une procédure possible :


'Déclaration dans le haut d'un module 2 variables de type tableau (un par label) qui vont contenir touts les noms des
contrôles que tu as mis dans chaque Label.

Public ArrLabel3
Public ArrLabel2()


Procédure que tu vas appeler lors de l'ouverture de ton fichier. Elle va initialer les variables "Tableau" contenant la
liste des objets appartenant à chacun. Dans le ThisWorkbook de ton projet, tu utilises cet événement :

'--------------------------------
Private Sub Workbook_Open()
InitialerLes2GroupesLabel
End sub

'--------------------------------
Sub InitialerLes2GroupesLabel()

ArrLabel3 = Array("Label3", "TextBox2", "TextBox3")
ArrLabel2 = Array("Label2", "CommandButton1", "CommandButton2")

End Sub


Lorsque tu cliques sur un label ou un contrôle( à toi de décider) , dans l'événement que tu choisiras, tu appeles la
procédure appropriée.

'--------------------------------
Sub RendreInVisibleLabel3()

For Each elt In ArrLabel3
With Worksheets("Feuil3")
.Shapes(elt).Visible = False
End With
Next

For Each elt In ArrLabel2
With Worksheets("Feuil3")
.Shapes(elt).Visible = True
End With
Next

End Sub
'--------------------------------
Sub RendreInVisibleLabel2()

For Each elt In ArrLabel3
With Worksheets("Feuil3")
.Shapes(elt).Visible = True
End With
Next

For Each elt In ArrLabel2
With Worksheets("Feuil3")
.Shapes(elt).Visible = False
End With
Next

End Sub
'--------------------------------



Si ma perception est juste de ton problème, il y a le contrôle Multipage d'un formulaire, qui fait ce type de travail !



Salutations!







"laurent" a écrit dans le message de news:29cb01c3a97b$b4db0530$
Wahooooo!!!
que de questions...
Je vais essayer d'être clair.

Je dois avoir quelque chose comme 250 controles
Label1 : qui recouvre la partie apparente d'une feuille
excel (bloquée en déroulement)
Label2 centré sur label1 qui me permet de mettre en valeur
le contenu de label2.
Label3 bandeau inclu dans label2. Il contient des
boutonsde commande.
label4 sous bandeau de label3 qui contient aussi des
boutons de commande
label5 qui inclus un ensemble de textbox et listbox
(représente des lignes de saisie d'écriture)

Voilà pour un descriptif rapide.

L'ordre de création doit être celui cité. Mais mes essais
ont du le perturber. (pas grave, je peux refaire
facilement)

Chaque controles est accessible par souris (à l'exception
des labels qui ne doivent pas être recepteur d'évenement).
Les text box et listbox sont accessbles par tabulation et
flêche haute ou basse)

Les bouton de commande doivent piloter la mise à jour d'un
classeur non actif (SQL avec ADODB).

Voilà.

presque fastoche ;-)

Mais pour le moment mon problème est simplement graphique.

Merci
-----Message d'origine-----
Bonsoir Laurent,


A ) Tu as combien de contrôles superposés ?

B ) Dans quel ordre les as-tu créés ? En partant de celui
du dessous jusqu'à celui du dessus ?

Ces contrôles sont issus de quel barre d'outils
(formulaire ou commande) ?


C ) Quel événement doit gérer le comportement des
contrôles ?


D ) Qu'est-ce que les boutons doivent faire ? Et Quand ?



Salutations!



"Laurent" a écrit dans le
message de news:0d2c01c3a978$075fbbb0$

Bonsoir,

Mercredi 11/11 j'exposait le pb suivant :
quand deux contrôles sont superposés, cliquer sur l'un
masque en partie ou totalement l'autre. Il m'a été répondu
de rendre invisible celui qui masque.

Ca fonctionne mais ce n'est pas ce que je souhaite.

En fait j'ai sur une feuille differents controles qui me
servent :
- de fonds (un label se superpose à un autre)
- des boutons (gestion des commande ajout, suppr,
modif

- etc....
Donc rendre un label invisible n'est pas pour moi une
solution.
Utiliser un formulaire ne me réjouit guère à cause de son
mode modal (c kom ca k'on dit, non?)

Jouer avec les commandes d'arrière plan ne permet pas de
le réaffichage l'ensemble.
le proprièté locked et enabled n'empèchent pas la
superposition.

Bref je suis sans soluce.

Si quelqu'un pouvait me rediriger soit dans mon approche
soit dans la conception je lui serais grandement
reconnaissant.

Merci de vos réponses
Ps : je suis en excel 97


.



Avatar
gb
Bonjour.
En complément de la réponse de Denis, un formulaire n'est pas
obligatoirement modal.
Essaie la propriété vbModeless
et la commande AppActivate Application.Caption

Private Sub Worksheet_Activate()
UserForm1.Show vbModeless
AppActivate Application.Caption
End Sub

GB

"LAurent" a écrit:
J'ai oublié de préciser que mes contrôles proviennent de
la barre d'outils commande.

Vais aller dodoter ca va me changer

Merci encore
-----Message d'origine-----
Wahooooo!!!
que de questions...
Je vais essayer d'être clair.

Je dois avoir quelque chose comme 250 controles
Label1 : qui recouvre la partie apparente d'une feuille
excel (bloquée en déroulement)
Label2 centré sur label1 qui me permet de mettre en
valeur

le contenu de label2.
Label3 bandeau inclu dans label2. Il contient des
boutonsde commande.
label4 sous bandeau de label3 qui contient aussi des
boutons de commande
label5 qui inclus un ensemble de textbox et listbox
(représente des lignes de saisie d'écriture)

Voilà pour un descriptif rapide.

L'ordre de création doit être celui cité. Mais mes essais
ont du le perturber. (pas grave, je peux refaire
facilement)

Chaque controles est accessible par souris (à l'exception
des labels qui ne doivent pas être recepteur d'évenement).
Les text box et listbox sont accessbles par tabulation et
flêche haute ou basse)

Les bouton de commande doivent piloter la mise à jour
d'un

classeur non actif (SQL avec ADODB).

Voilà.

presque fastoche ;-)

Mais pour le moment mon problème est simplement graphique.

Merci
-----Message d'origine-----
Bonsoir Laurent,


A ) Tu as combien de contrôles superposés ?

B ) Dans quel ordre les as-tu créés ? En partant de
celui


du dessous jusqu'à celui du dessus ?
Ces contrôles sont issus de quel barre d'outils
(formulaire ou commande) ?


C ) Quel événement doit gérer le comportement des
contrôles ?


D ) Qu'est-ce que les boutons doivent faire ? Et Quand ?



Salutations!



"Laurent" a écrit dans le
message de news:0d2c01c3a978$075fbbb0$

Bonsoir,

Mercredi 11/11 j'exposait le pb suivant :
quand deux contrôles sont superposés, cliquer sur l'un
masque en partie ou totalement l'autre. Il m'a été
répondu


de rendre invisible celui qui masque.

Ca fonctionne mais ce n'est pas ce que je souhaite.

En fait j'ai sur une feuille differents controles qui me
servent :
- de fonds (un label se superpose à un autre)
- des boutons (gestion des commande ajout, suppr,
modif

- etc....
Donc rendre un label invisible n'est pas pour moi une
solution.
Utiliser un formulaire ne me réjouit guère à cause de son
mode modal (c kom ca k'on dit, non?)

Jouer avec les commandes d'arrière plan ne permet pas de
le réaffichage l'ensemble.
le proprièté locked et enabled n'empèchent pas la
superposition.

Bref je suis sans soluce.

Si quelqu'un pouvait me rediriger soit dans mon approche
soit dans la conception je lui serais grandement
reconnaissant.

Merci de vos réponses
Ps : je suis en excel 97


.

.





Avatar
gb
Bonjour.
Les contrôles Formulaires, contrairement aux contrôles de la boîte à outils,
ne semblent pas avoir cette fâcheuse tendance à se mettre au premier plan.

GB

"Laurent" wrote in message
news:0d2c01c3a978$075fbbb0$
Bonsoir,

Mercredi 11/11 j'exposait le pb suivant :
quand deux contrôles sont superposés, cliquer sur l'un
masque en partie ou totalement l'autre.
Avatar
Laurent
Merci pour vos réponses

Actuellement au boulot, sortant ce soir, et donc pas avant
vendredi je vais essayer de comprendre vos réponses et
d'appliquer en fonction de mes besoin.

Merci encore
-----Message d'origine-----
Bonsoir,

Mercredi 11/11 j'exposait le pb suivant :
quand deux contrôles sont superposés, cliquer sur l'un
masque en partie ou totalement l'autre. Il m'a été
répondu

de rendre invisible celui qui masque.

Ca fonctionne mais ce n'est pas ce que je souhaite.

En fait j'ai sur une feuille differents controles qui me
servent :
- de fonds (un label se superpose à un autre)
- des boutons (gestion des commande ajout, suppr,
modif

- etc....
Donc rendre un label invisible n'est pas pour moi une
solution.
Utiliser un formulaire ne me réjouit guère à cause de son
mode modal (c kom ca k'on dit, non?)

Jouer avec les commandes d'arrière plan ne permet pas de
le réaffichage l'ensemble.
le proprièté locked et enabled n'empèchent pas la
superposition.

Bref je suis sans soluce.

Si quelqu'un pouvait me rediriger soit dans mon approche
soit dans la conception je lui serais grandement
reconnaissant.

Merci de vos réponses
Ps : je suis en excel 97
.