Userform et PNG
Bonjour,
Comme vous l'avez peut-être constaté récemment je débute dans le VBA. J'ai cru comprendre que les PNG ne sont pas compatibles avec les userforms.
Je souhaite cependant intégrer la petite animation que j'ai réalisé dans un userform. Le problème est qu'il me faut des images gérant la transparence ?!
Comment faire ?
Je vous laisse mon fichier ! C'est cadeau pour le code
Cordialement.
Bonjour,
pourquoi pas un gif ?
Il gère la transparence, et même l'animation.
eric
Je te remercie eriiic
Maintenant comment sélectionner une image dans le userform ? J'ai essayé de remplacer ça :
Sheets("Feuil1").Shapes("Cadenas_fermé").Left = 390Par ça :
Me.Shapes("Cadenas_fermé").Left = 390Mais ça ne fonctionne pas !
En fait, comment adapter le code du fichier envoyé précédemment à un userform ?
Bonjour,
tu gagnerais ton temps en commençant toujours par une recherche sur google...
Je ne pense pas que ton image s'appelle ainsi dans l'UF.
nom_de_ton_objet.top =390
eric
J'ai cherché sur Google, mais je ne trouve rien de bien compréhensible pour moi.
Maintenant j'obtiens "Erreur de compilation : Fonction ou variable attendue".
Voici le code qui me surligne la ligne suivante :
Test.Rotation = 0 + iCode complet :
Cadenas_fermé.Left = 390
Cadenas_fermé.Top = 18
Cadenas_fermé.Height = 66
Cadenas_fermé.Width = 36
Cadenas_ouvert.Left = 384
Cadenas_ouvert.Top = 6
Cadenas_ouvert.Height = 96
Cadenas_ouvert.Width = 48
Clé.Left = 396
Clé.Top = 90
Clé.Height = 48
Clé.Width = 24
Cadenas_fermé.Visible = True
Cadenas_ouvert.Visible = False
Clé.Visible = True
secondes = 0.01
For i = 1 To 36 Step 0.5
timer_avant = Timer 'Variable timer_avant calée sur le Timer
Do While Timer < timer_avant + secondes 'Permet d'attendre la durée secondes renseignée au-dessus
DoEvents 'Permet d'attendre la durée secondes renseignée au-dessus
Loop 'Permet d'attendre la durée secondes renseignée au-dessus
Clé.Top = 90 - i 'Déplace la flèche par micro-modification de la position
Next
Range(Array("Cadenas_fermé", "Clé")).Select
Selection.ShapeRange.Group.Select
Selection.Name = "TEST"
For i = 1 To 4
timer_avant = Timer 'Variable timer_avant calée sur le Timer
Do While Timer < timer_avant + secondes 'Permet d'attendre la durée secondes renseignée au-dessus
DoEvents 'Permet d'attendre la durée secondes renseignée au-dessus
Loop 'Permet d'attendre la durée secondes renseignée au-dessus
Test.Rotation = 0 + i
Next
For j = 1 To 3
For i = 1 To 8
timer_avant = Timer 'Variable timer_avant calée sur le Timer
Do While Timer < timer_avant + secondes 'Permet d'attendre la durée secondes renseignée au-dessus
DoEvents 'Permet d'attendre la durée secondes renseignée au-dessus
Loop 'Permet d'attendre la durée secondes renseignée au-dessus
Test.Rotation = 0 - i
Next
For i = 1 To 8
timer_avant = Timer 'Variable timer_avant calée sur le Timer
Do While Timer < timer_avant + secondes 'Permet d'attendre la durée secondes renseignée au-dessus
DoEvents 'Permet d'attendre la durée secondes renseignée au-dessus
Loop 'Permet d'attendre la durée secondes renseignée au-dessus
Test.Rotation = 0 + i
Next
Next
For i = 1 To 4
timer_avant = Timer 'Variable timer_avant calée sur le Timer
Do While Timer < timer_avant + secondes 'Permet d'attendre la durée secondes renseignée au-dessus
DoEvents 'Permet d'attendre la durée secondes renseignée au-dessus
Loop 'Permet d'attendre la durée secondes renseignée au-dessus
Test.Rotation = 0 - i
Next
Test.Select
Selection.ShapeRange.Ungroup.Select
Cadenas_fermé.Visible = False
Cadenas_ouvert.Visible = True
Clé.Visible = False
Application.Wait Now + TimeValue("00:00:02") '2 secondes
Unload MeC'est quoi Test ?
C'est quoi .Rotation ?
Rien dans ton code ne l'indique comment veux-tu avoir une réponse ? Il faut être logique...
C'est le regroupement des deux images. Je l'ai appelé TEST, mais quand j'écris Test.Rotation, il perd ses majuscules.
Je ne comprends rien, et je débute, il ne faut pas me lancer la pierre. J'ai passé toute la matinée à savoir comment faire avec des recherches Google, il ne faut pas dire que je n'ai pas cherché. J'apprends le VBA sur le tas !!!!!
Donc bref, mon code il fonctionnait très bien si on reprend mon premier post, il n'y a qu'à voir le fichier que j'ai joint.
Du coup, je ne comprends pas pourquoi il y a la moitié des lignes qui déconne quand je veux appliquer cette animation sur un userform !
Les objets sur feuille ne se manipulent pas de la même façon que dans un userform tout simplement.
Et je n'y suis pour rien si tu débutes...
Visiblement il ne connait pas TEST. Ca doit être un Shape ou un ShapeRange.
Mais comme il est toujours sélectionné tu devrais pouvoir continuer avec Selection.xxx
Reste à voir si .Rotation fonctionne dans un UF (?)
Vu que je pratique très peu ce style de gymnastique démarre un nouveau topic en cas de difficulté persistante.
eric