Microsoft 365 Afficher un Titre/Message Défilant (Texte Marquee) dans un UserForm

  • Initiateur de la discussion Initiateur de la discussion kingbeck
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

kingbeck

XLDnaute Nouveau
Salut la team programmeur, j'ai crée un champ webbrowser1 dans VBA pour afficher un message défilant de "bienvenu dans l'application" mais il y a un message d'erreur qui empêche cela.
J'ai besoin de votre aide.
 
salut,
crystal ball love GIF by HERSHEY’S Cookies ’n’ Creme

Ma boule de cristal est en panne,
le code qui affiche le texte déroulant ou un classeur contenant ce code pourrait m'aider.
Nullosse
 
Bonjour
je peux jouer moi aussi?
je vous propose un peu plus evolué qu'un label qui se ballade de droite à gauche
je vous propose le chenillard qui puis est optionalisable sans faire de grand code
cette méthode permet de faire défiler le texte dans une partie bien distincte de l'userform
le principe est très simple
dans un label dimensionné a notre gré on va faire defiler le texte en deplacant la 1ère lettre du debut à la fin
par rapport au wordwrap on pourra décider de faire défiler mot par mot ou lettre par lettre
dans l'exemple ci dessous et ci joint
je reprends le text de Nicolas
on décide de
  1. de, la largeur du chenillard en determinant le nombre de caractère apparant(principe simillaire a columnwidth pour les cellule)
  2. du texte
  3. de la vitesse
  4. défilement mot par mot ou lettre par lettre en benificiant de l'effet de bord du wordwrap
démonstration mot par mot
demo3.gif


démonstration lettre par lettre
demo3.gif


et le code est hyper simple
VB:
Dim rouleTambour As Boolean

Private Sub UserForm_Initialize()
    textdefil = "Bienvenue dans mon UserForm - Ceci est un message défilant - Et un Merci suffit !!! "
    With chenillard
    '-----------------------------------------------------
    'on dimentionne au nombre de caractère du chenillard
    .Caption = String(Nbchar, "-")
    .AutoSize = True
    .AutoSize = False 'on bloque sa taille obtenue
    '-----------------------------------------------------
 
    .WordWrap = WordByWord 'mot par mot ou lettre par lettre par le wordwrap
 
    .Left = (Me.InsideWidth - chenillard.Width) / 2 'on centre le chenullard
    End With
    rouleTambour = True
End Sub

Private Sub UserForm_Activate()
    Dim tim As Double
        Do While rouleTambour
        DoEvents
        'on decal a la seconde lettre le texte actuel que l'on reporte à la fin
        textdefil = Mid(textdefil, 2) & Left(textdefil, 1)
        'on affiche
        chenillard = Left(textdefil, Nbchar)
        'temporisation
        tim = Timer
        Do While Timer < tim + vitesse
            DoEvents
        Loop
    Loop
End Sub

Private Sub UserForm_Terminate()
    rouleTambour = False
End Sub
Cette méthode permet d'intégrer le texte défilant a une dimension précis a un endroit precis du userform et de la longueur que l'on veut
Patrick
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
374
Retour