Texte défilant VBA Excel

Résolu
Manshiz Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   -  
Manshiz Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   -
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.

--
Sage est celui qui veut apprendre.
Configuration: Windows 7 Intégral
Acer
1000Go / 4Go Ram
Avira Antivirus Professionnel
Firefox 3.6 - Google Chrome

2 réponses

  1. Gord21 Messages postés 928 Statut Membre 289
     
    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
  2. Manshiz Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   10
     
    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