Texte défilant VBA Excel

Résolu/Fermé
Manshiz Messages postés 184 Date d'inscription samedi 21 janvier 2006 Statut Membre Dernière intervention 18 août 2012 - 9 mars 2010 à 11:14
Manshiz Messages postés 184 Date d'inscription samedi 21 janvier 2006 Statut Membre Dernière intervention 18 août 2012 - 9 mars 2010 à 23:55
Bonjour,

J'ai un petit souci concernant ce code:

Private Sub UserForm_Initialize()
Texte = "Chargement" & _
" en" & _
" cours," & _
" veuillez" & _
" patienter" & _
"..." & _
"" & Space(1)
With Label1
.Caption = Texte
End With
End Sub

Le texte "Chargement en cours, veuillez patienter..." vient quasiment collé quand il défile,
j'aimerais qu'entre deux il y aie un laps de temps vide.
J'ai fais plusieurs tests sans succès. Un petit coup de main serait le bienvenu.



A voir également:

2 réponses

Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289
9 mars 2010 à 21:46
Bonsoir,
Je pense qu'il faut ajouter des espaces (remplacer Space(1) par Space(10)).
Mais je ne pense pas qu'on ait la même version d'excel : comment fais-tu défiler le texte ?
@+
1
Manshiz Messages postés 184 Date d'inscription samedi 21 janvier 2006 Statut Membre Dernière intervention 18 août 2012 10
9 mars 2010 à 23:55
Bonsoir Gord,

je travail avec Office 2007 et voici tout le code que l'on met directement dans le UserForm.

Private Declare Function GetTickCount Lib "Kernel32" () As Long
Public Arreter As Boolean
Dim Texte As String

Public Sub Chrono()
Dim Top As Long
Do
If Arreter = True Then Exit Do
Top = GetTickCount()
Do While GetTickCount() < Top + 90
DoEvents
Loop
DoEvents
Message
DoEvents
Loop
End Sub

Sub Message()
Dim Chaine1 As String
Dim Chaine2 As String

'Faire défiler un Label dans un Frame
'With LblMessage
'.Left = .Left - 10
'If .Left + .Width < 0 Then
'.Left = Frame1.Width
'End If
'End With

'Faire défiler un texte dans un Label
With Label1
Chaine2 = Left(.Caption, Len(Texte) - Len(.Caption) + 1)
Chaine1 = Right(.Caption, Len(.Caption) - 1) & Chaine2
.Caption = Chaine1
End With
End Sub

Private Sub UserForm_Activate()
Chrono
End Sub

Private Sub UserForm_Click()
Arreter = Not Arreter
End Sub

Private Sub UserForm_Initialize()
Texte = "Chargement" & _
" en" & _
" cours," & _
" veuillez" & _
" patienter" & _
"..." & _
"" & Space(1)
With Label1
.Caption = Texte
End With
End Sub

Comme je l'ai dit avant, j'ai déjà essaié, mais sans résultat.
J'ai coupé le texte pour que le défilement sois plus fuide;
en mettant toute la phrase entre guillemets, les mots s'affichent un par un, c'est pas beau.

A +
0