Microsoft 365 Frame sur Userform

TCHIS

XLDnaute Occasionnel
Bonjour à tous et à toutes.

Je me suis lancé dans la conception de BD sous excel depuis peu.

Alors il y a certaines fonctions je voudrai attribuer à mon USF.

D'abord mon USF possède un fond d'image et je souhaiterai avoir une Frame dont le fond est transparent et qui s'afficherai après l'appui sur un bouton (le sens d'apparition de cette frame serait du bas vers le haut pour s'arrêter net en dessous d'une Listview qui est déjà opérationnelle ).

Pourriez vous s'il vous plait m'apporter de vos lumières ?
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Dans le code j'ai vu en commentaire "Code pour ne pas afficher l'interfaceMenu".
J'espère que ce n'était pas pas le but d'avoir cherché à l'afficher transparent ?
Parce que ce serait quand même plus simple de ne pas l'afficher du tout : Il suffirait pour cela de mettre à False sa propriété Visible !
 

TCHIS

XLDnaute Occasionnel
Bonjour
si tu a ce genre de problème avec un code aussi simple c'est que tu a un soucis dans ton system
tu peux livrer le fichier dans le quel tu a essayé
et c'est un exemple ; je l'ai fait par un bouton mais tu peux le faire au activate
En tout cas j'ai réussi effectivement à avoir ce que je voulais la frame est transparente et mon userform prend parfaite l'image il reste plus qu'à avancer au fur et à mesure en tout grand Merci c'est grâce vous🙏🙏🙏.
Je reviendrai vers vous si ça ne vous dérange pas car c'est un projet étudiant très important et comme je l'ai dit j'ai commencé il n'y a pas longtemps avec cela
 

patricktoulon

XLDnaute Barbatruc
re
avec la methode simulation de transparence
ton userform1
a la base il est comme ceci( j'ai ajouté une frame pour l'exemple )
1676977836066.png
avec mon code yper simple dans activate

VB:
Private Sub UserForm_Activate()
'on met la copie bmp du fond de l'userform dans un nouveau control image dynamique
'l'image aura la meme taille que l'interieur du userform
'la meme propriété d'affichage
' reste plus qu'a la depacer de exactement le left et le top de la frame mais !!!! en negatif
'comme c'est le dernier controls ajouté on le met en arriare plan "zorder 1"
    Set img = Me.Frame1.Controls.Add("forms.Image.1", "fondframe")
    With img
        .Move 0 - Frame1.Left - 1, 0 - Frame1.Top - 1, Me.InsideWidth, Me.InsideHeight
        .Picture = Me.Picture
        .PictureSizeMode = Me.PictureSizeMode
        .ZOrder 1
    End With
End Sub

résultat a l'ouverture il est comme cela

1676977958600.png
 

fanch55

XLDnaute Barbatruc
Super, je suis bluffé .
Encore une certitude qui tombe . 😩
J'avais bien vu des tas de code pour dupliquer l'image, mais il y avait toujours un décalage .
Je vais archiver ce code dans ma bib .
Cependant, je vais mettre l'image en statique pour n'avoir qu'un et un seul contrôle de même nom et surtout pouvoir faire un mousemove sur la picture pour déplacer le frame .
tchis.gif


Merci @patricktoulon

L'api m’intéresse également ;)
 

Pièces jointes

  • simulation de frrame transparente F55.xlsm
    23.7 KB · Affichages: 4
Dernière édition:

TCHIS

XLDnaute Occasionnel
re
si @fanch55 revient je ui donnerais ma fonction avec les api (réelle transparence ) en macro 4
elle ne m'a jamais fait defaut
il pourra constater que c'est pas bancale du tout ;)
En tout pour ce qui est de la question de la frame transparente grâce à vous c'est réglé.
Pourriez-vous m'aider à faire à ce que cette frame pour son apparition qu'elle (Frame transparente) n'apparaisse qu'après qu'on est cliqué sur une mini frame (Celle-la comporte trois labels).

En gro le code pour transformer un frame en bouton afin qu'ue fois on clique la frame transparente apparaisse (Sens d'affichage : Du bas vers le Haut)
 

patricktoulon

XLDnaute Barbatruc
re
?????????????????????🤔
faut faire plus d'effort dans vos demandes ,on comprend rien a ce que vous dites
et mon décodeur est en panne
quelle frame la quelle qui a les 3 trois labels
la quelle qui doit avoir l'animation
sur quel bouton on clique
faite moi un exemple dans un fichier vierge avec juste ce qu'il faut
 

TCHIS

XLDnaute Occasionnel
re
?????????????????????🤔
faut faire plus d'effort dans vos demandes ,on comprend rien a ce que vous dites
et mon décodeur est en panne
quelle frame la quelle qui a les 3 trois labels
la quelle qui doit avoir l'animation
sur quel bouton on clique
faite moi un exemple dans un fichier vierge avec juste ce qu'il faut
Le fichier test en Pièce joint montre Bien je pense.
On a deux frames principales.
La première regroupe d'autres frames qui lorsqu'on clique dessus doivent lancer des actions.
Par exemple le frame nomme Frame9 doit etre afficher une fois qu'on clique sur frame4 (Saisie de suivi)
 

Pièces jointes

  • Test.xlsm
    125.2 KB · Affichages: 3

TCHIS

XLDnaute Occasionnel
Bonsoir à tous

Vous saurez comment afficher un frame à partir d'un autre.

La piste que j'ai exploiter pour l'instant est celle d'un code qui permet d'ouvrir un US(UserForm) à partir d'un click sur un frame.

Voici le code qui marche entre Frame-Userform

VB:
Private Sub Frame2_Click()[/COLOR][/B]
[COLOR=rgb(0, 168, 133)][B]UserFormChoix_Saisie.Show[/B][/COLOR]
[B][COLOR=rgb(0, 168, 133)]End Sub


Quand j'applique le code entre Frame-Frame en remplaçant UserFormChoix_Saisie par le nom de la Frame (Frame5) à afficher ça ne passe pas.

N.B: La frame dans je souhaite afficher (Frame5) a sa propriété Visible = False parce que je ne soufaite qu'elle ne s'affiche qu'après qu'on ait cliqué sur frame2.

Vous pourriez m'apporter des idées s'il vous plait.
 

TCHIS

XLDnaute Occasionnel
re
regarde cet exemple
click plusieusr fois sur la frame 1
Ah oui comme très simple comme code
Je me demande bien où vous partez trouvez ces codes
Merci beaucoup patricktoulon

A titre d'information pour la suite de mon projet je me demande si c'est faisable de réaliser un tableau de bord sur un userform avec tout ce qui pourrait avoir sur un userform(Courbe, Tableau, etc) ?
Je demande parce que la plupart pour ne pas dire la majorité le fait sur une feuille excel or ce que je voudrai vraiment c'est que mon fichier excel se présente comme une application à part entière
 

fanch55

XLDnaute Barbatruc
Merci @patricktoulon ,
Cela marche bien,

La frame2 ( avec coins arrondis ) , en fait n'arrondit pas les coins mais fait disparaitre la ligne de bordure du frame, c'est aussi bien , je n'arrive pas à le faire sans Api. Comportement différent donc sur Excel 2019/64bits :
pat.gif


La frame 3 ( arrondir les coins ) semble faire le travail précédent 🤔

Quand on masque les frames et qu'on les ré-affiche, il faut à chaque fois ré-appliquer la transparence .
 
Dernière édition: