Dans un formulaire j'ai une listbox qui affiche le compte-rendu d'exécution d'une procédure.
Le traitement affiche de nombreuses lignes, ce qui fait qu'au bout d'un moment il n'est plus possible de lire ce qui s'affiche
pendant l'exécution.
On peut bien sûr utiliser la barre de défilement verticale, mais j'aimerais que ce défilement soit automatique.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jero
Salut, Par exemple : (btFaireDéfiler : bouton de commande, tTxt1 textbox) Private Sub btFaireDéfiler_Click() Dim Lg As Byte, Pos As Byte, I As Byte, Ch As String, svgTxt1 As String, Nb As Long Nb = 3000000 : 'à adapter svgTxt1 = Me.tTxt1 Lg = Len(svgTxt1) For I = 1 To Lg Ch = Mid(svgTxt1, I + 1, Lg - I) & Left(svgTxt1, I) Me.tTxt1 = Ch tempo (Nb) DoEvents Next I Me.tTxt1 = svgTxt1 End Sub
Sub tempo(Tps As Long) Dim T As Long For T = 1 To Tps: Next T End Sub A+
"Gilbert" a écrit dans le message de news:
Bonjour,
Dans un formulaire j'ai une listbox qui affiche le compte-rendu d'exécution d'une procédure. Le traitement affiche de nombreuses lignes, ce qui fait qu'au bout d'un moment il n'est plus possible de lire ce qui s'affiche pendant l'exécution. On peut bien sûr utiliser la barre de défilement verticale, mais j'aimerais que ce défilement soit automatique.
Connaissez-vous le moyen de réaliser ça en VBA?
Merci d'avance
-- Cordialement,
Gilbert
Salut,
Par exemple : (btFaireDéfiler : bouton de commande, tTxt1 textbox)
Private Sub btFaireDéfiler_Click()
Dim Lg As Byte, Pos As Byte, I As Byte, Ch As String, svgTxt1 As String, Nb
As Long
Nb = 3000000 : 'à adapter
svgTxt1 = Me.tTxt1
Lg = Len(svgTxt1)
For I = 1 To Lg
Ch = Mid(svgTxt1, I + 1, Lg - I) & Left(svgTxt1, I)
Me.tTxt1 = Ch
tempo (Nb)
DoEvents
Next I
Me.tTxt1 = svgTxt1
End Sub
Sub tempo(Tps As Long)
Dim T As Long
For T = 1 To Tps: Next T
End Sub
A+
"Gilbert" <news@news.fr> a écrit dans le message de news:
u9rHmstxKHA.3560@TK2MSFTNGP02.phx.gbl...
Bonjour,
Dans un formulaire j'ai une listbox qui affiche le compte-rendu
d'exécution d'une procédure.
Le traitement affiche de nombreuses lignes, ce qui fait qu'au bout d'un
moment il n'est plus possible de lire ce qui s'affiche
pendant l'exécution.
On peut bien sûr utiliser la barre de défilement verticale, mais
j'aimerais que ce défilement soit automatique.
Salut, Par exemple : (btFaireDéfiler : bouton de commande, tTxt1 textbox) Private Sub btFaireDéfiler_Click() Dim Lg As Byte, Pos As Byte, I As Byte, Ch As String, svgTxt1 As String, Nb As Long Nb = 3000000 : 'à adapter svgTxt1 = Me.tTxt1 Lg = Len(svgTxt1) For I = 1 To Lg Ch = Mid(svgTxt1, I + 1, Lg - I) & Left(svgTxt1, I) Me.tTxt1 = Ch tempo (Nb) DoEvents Next I Me.tTxt1 = svgTxt1 End Sub
Sub tempo(Tps As Long) Dim T As Long For T = 1 To Tps: Next T End Sub A+
"Gilbert" a écrit dans le message de news:
Bonjour,
Dans un formulaire j'ai une listbox qui affiche le compte-rendu d'exécution d'une procédure. Le traitement affiche de nombreuses lignes, ce qui fait qu'au bout d'un moment il n'est plus possible de lire ce qui s'affiche pendant l'exécution. On peut bien sûr utiliser la barre de défilement verticale, mais j'aimerais que ce défilement soit automatique.
Connaissez-vous le moyen de réaliser ça en VBA?
Merci d'avance
-- Cordialement,
Gilbert
Gilbert
Merci de ta réponse.
Ce n'est pas une zone de texte (textbox) que je veux faire défiler, c'est une zone de liste (listbox) dans laquelle des lignes s'inscrivent les unes au-dessous des autres. Je voudrait que la dernière ligne inscrite soit toujours visible. Comme si je cliquais à chaque fois sur la flèche basse de la barre de défilement verticale.
Gilbert
"jero" <~ a écrit dans le message de news:
Salut, Par exemple : (btFaireDéfiler : bouton de commande, tTxt1 textbox) Private Sub btFaireDéfiler_Click() Dim Lg As Byte, Pos As Byte, I As Byte, Ch As String, svgTxt1 As String, Nb As Long Nb = 3000000 : 'à adapter svgTxt1 = Me.tTxt1 Lg = Len(svgTxt1) For I = 1 To Lg Ch = Mid(svgTxt1, I + 1, Lg - I) & Left(svgTxt1, I) Me.tTxt1 = Ch tempo (Nb) DoEvents Next I Me.tTxt1 = svgTxt1 End Sub
Sub tempo(Tps As Long) Dim T As Long For T = 1 To Tps: Next T End Sub A+
"Gilbert" a écrit dans le message de news:
Bonjour,
Dans un formulaire j'ai une listbox qui affiche le compte-rendu d'exécution d'une procédure. Le traitement affiche de nombreuses lignes, ce qui fait qu'au bout d'un moment il n'est plus possible de lire ce qui s'affiche pendant l'exécution. On peut bien sûr utiliser la barre de défilement verticale, mais j'aimerais que ce défilement soit automatique.
Connaissez-vous le moyen de réaliser ça en VBA?
Merci d'avance
-- Cordialement,
Gilbert
Merci de ta réponse.
Ce n'est pas une zone de texte (textbox) que je veux faire défiler, c'est
une zone de liste (listbox) dans laquelle des lignes s'inscrivent les unes
au-dessous des autres.
Je voudrait que la dernière ligne inscrite soit toujours visible.
Comme si je cliquais à chaque fois sur la flèche basse de la barre de
défilement verticale.
Gilbert
"jero" <~jero@jero.net> a écrit dans le message de news:
OTM6xwyxKHA.1548@TK2MSFTNGP02.phx.gbl...
Salut,
Par exemple : (btFaireDéfiler : bouton de commande, tTxt1 textbox)
Private Sub btFaireDéfiler_Click()
Dim Lg As Byte, Pos As Byte, I As Byte, Ch As String, svgTxt1 As String,
Nb As Long
Nb = 3000000 : 'à adapter
svgTxt1 = Me.tTxt1
Lg = Len(svgTxt1)
For I = 1 To Lg
Ch = Mid(svgTxt1, I + 1, Lg - I) & Left(svgTxt1, I)
Me.tTxt1 = Ch
tempo (Nb)
DoEvents
Next I
Me.tTxt1 = svgTxt1
End Sub
Sub tempo(Tps As Long)
Dim T As Long
For T = 1 To Tps: Next T
End Sub
A+
"Gilbert" <news@news.fr> a écrit dans le message de news:
u9rHmstxKHA.3560@TK2MSFTNGP02.phx.gbl...
Bonjour,
Dans un formulaire j'ai une listbox qui affiche le compte-rendu
d'exécution d'une procédure.
Le traitement affiche de nombreuses lignes, ce qui fait qu'au bout d'un
moment il n'est plus possible de lire ce qui s'affiche
pendant l'exécution.
On peut bien sûr utiliser la barre de défilement verticale, mais
j'aimerais que ce défilement soit automatique.
Ce n'est pas une zone de texte (textbox) que je veux faire défiler, c'est une zone de liste (listbox) dans laquelle des lignes s'inscrivent les unes au-dessous des autres. Je voudrait que la dernière ligne inscrite soit toujours visible. Comme si je cliquais à chaque fois sur la flèche basse de la barre de défilement verticale.
Gilbert
"jero" <~ a écrit dans le message de news:
Salut, Par exemple : (btFaireDéfiler : bouton de commande, tTxt1 textbox) Private Sub btFaireDéfiler_Click() Dim Lg As Byte, Pos As Byte, I As Byte, Ch As String, svgTxt1 As String, Nb As Long Nb = 3000000 : 'à adapter svgTxt1 = Me.tTxt1 Lg = Len(svgTxt1) For I = 1 To Lg Ch = Mid(svgTxt1, I + 1, Lg - I) & Left(svgTxt1, I) Me.tTxt1 = Ch tempo (Nb) DoEvents Next I Me.tTxt1 = svgTxt1 End Sub
Sub tempo(Tps As Long) Dim T As Long For T = 1 To Tps: Next T End Sub A+
"Gilbert" a écrit dans le message de news:
Bonjour,
Dans un formulaire j'ai une listbox qui affiche le compte-rendu d'exécution d'une procédure. Le traitement affiche de nombreuses lignes, ce qui fait qu'au bout d'un moment il n'est plus possible de lire ce qui s'affiche pendant l'exécution. On peut bien sûr utiliser la barre de défilement verticale, mais j'aimerais que ce défilement soit automatique.
Connaissez-vous le moyen de réaliser ça en VBA?
Merci d'avance
-- Cordialement,
Gilbert
jero
Excuse... je suis allé un peu vite... Je regarde ce week-end si j'ai un moment A+ "Gilbert" a écrit dans le message de news: %23AA%
Merci de ta réponse.
Ce n'est pas une zone de texte (textbox) que je veux faire défiler, c'est une zone de liste (listbox) dans laquelle des lignes s'inscrivent les unes au-dessous des autres. Je voudrait que la dernière ligne inscrite soit toujours visible. Comme si je cliquais à chaque fois sur la flèche basse de la barre de défilement verticale.
Gilbert
"jero" <~ a écrit dans le message de news:
Salut, Par exemple : (btFaireDéfiler : bouton de commande, tTxt1 textbox) Private Sub btFaireDéfiler_Click() Dim Lg As Byte, Pos As Byte, I As Byte, Ch As String, svgTxt1 As String, Nb As Long Nb = 3000000 : 'à adapter svgTxt1 = Me.tTxt1 Lg = Len(svgTxt1) For I = 1 To Lg Ch = Mid(svgTxt1, I + 1, Lg - I) & Left(svgTxt1, I) Me.tTxt1 = Ch tempo (Nb) DoEvents Next I Me.tTxt1 = svgTxt1 End Sub
Sub tempo(Tps As Long) Dim T As Long For T = 1 To Tps: Next T End Sub A+
"Gilbert" a écrit dans le message de news:
Bonjour,
Dans un formulaire j'ai une listbox qui affiche le compte-rendu d'exécution d'une procédure. Le traitement affiche de nombreuses lignes, ce qui fait qu'au bout d'un moment il n'est plus possible de lire ce qui s'affiche pendant l'exécution. On peut bien sûr utiliser la barre de défilement verticale, mais j'aimerais que ce défilement soit automatique.
Connaissez-vous le moyen de réaliser ça en VBA?
Merci d'avance
-- Cordialement,
Gilbert
Excuse... je suis allé un peu vite...
Je regarde ce week-end si j'ai un moment
A+
"Gilbert" <news@news.fr> a écrit dans le message de news:
%23AA%23RA1xKHA.4240@TK2MSFTNGP06.phx.gbl...
Merci de ta réponse.
Ce n'est pas une zone de texte (textbox) que je veux faire défiler, c'est
une zone de liste (listbox) dans laquelle des lignes s'inscrivent les unes
au-dessous des autres.
Je voudrait que la dernière ligne inscrite soit toujours visible.
Comme si je cliquais à chaque fois sur la flèche basse de la barre de
défilement verticale.
Gilbert
"jero" <~jero@jero.net> a écrit dans le message de news:
OTM6xwyxKHA.1548@TK2MSFTNGP02.phx.gbl...
Salut,
Par exemple : (btFaireDéfiler : bouton de commande, tTxt1 textbox)
Private Sub btFaireDéfiler_Click()
Dim Lg As Byte, Pos As Byte, I As Byte, Ch As String, svgTxt1 As String,
Nb As Long
Nb = 3000000 : 'à adapter
svgTxt1 = Me.tTxt1
Lg = Len(svgTxt1)
For I = 1 To Lg
Ch = Mid(svgTxt1, I + 1, Lg - I) & Left(svgTxt1, I)
Me.tTxt1 = Ch
tempo (Nb)
DoEvents
Next I
Me.tTxt1 = svgTxt1
End Sub
Sub tempo(Tps As Long)
Dim T As Long
For T = 1 To Tps: Next T
End Sub
A+
"Gilbert" <news@news.fr> a écrit dans le message de news:
u9rHmstxKHA.3560@TK2MSFTNGP02.phx.gbl...
Bonjour,
Dans un formulaire j'ai une listbox qui affiche le compte-rendu
d'exécution d'une procédure.
Le traitement affiche de nombreuses lignes, ce qui fait qu'au bout d'un
moment il n'est plus possible de lire ce qui s'affiche
pendant l'exécution.
On peut bien sûr utiliser la barre de défilement verticale, mais
j'aimerais que ce défilement soit automatique.
Excuse... je suis allé un peu vite... Je regarde ce week-end si j'ai un moment A+ "Gilbert" a écrit dans le message de news: %23AA%
Merci de ta réponse.
Ce n'est pas une zone de texte (textbox) que je veux faire défiler, c'est une zone de liste (listbox) dans laquelle des lignes s'inscrivent les unes au-dessous des autres. Je voudrait que la dernière ligne inscrite soit toujours visible. Comme si je cliquais à chaque fois sur la flèche basse de la barre de défilement verticale.
Gilbert
"jero" <~ a écrit dans le message de news:
Salut, Par exemple : (btFaireDéfiler : bouton de commande, tTxt1 textbox) Private Sub btFaireDéfiler_Click() Dim Lg As Byte, Pos As Byte, I As Byte, Ch As String, svgTxt1 As String, Nb As Long Nb = 3000000 : 'à adapter svgTxt1 = Me.tTxt1 Lg = Len(svgTxt1) For I = 1 To Lg Ch = Mid(svgTxt1, I + 1, Lg - I) & Left(svgTxt1, I) Me.tTxt1 = Ch tempo (Nb) DoEvents Next I Me.tTxt1 = svgTxt1 End Sub
Sub tempo(Tps As Long) Dim T As Long For T = 1 To Tps: Next T End Sub A+
"Gilbert" a écrit dans le message de news:
Bonjour,
Dans un formulaire j'ai une listbox qui affiche le compte-rendu d'exécution d'une procédure. Le traitement affiche de nombreuses lignes, ce qui fait qu'au bout d'un moment il n'est plus possible de lire ce qui s'affiche pendant l'exécution. On peut bien sûr utiliser la barre de défilement verticale, mais j'aimerais que ce défilement soit automatique.
Connaissez-vous le moyen de réaliser ça en VBA?
Merci d'avance
-- Cordialement,
Gilbert
Gilbert
Bon, j'ai trouvé dans un forum
Liste.TopIndex = Liste.ListCount - 1
-- Cordialement,
Gilbert
"Gilbert" a écrit dans le message de news:%23AA%
Merci de ta réponse.
Ce n'est pas une zone de texte (textbox) que je veux faire défiler, c'est une zone de liste (listbox) dans laquelle des lignes s'inscrivent les unes au-dessous des autres. Je voudrait que la dernière ligne inscrite soit toujours visible. Comme si je cliquais à chaque fois sur la flèche basse de la barre de défilement verticale.
Gilbert
"jero" <~ a écrit dans le message de news:
> Salut, > Par exemple : (btFaireDéfiler : bouton de commande, tTxt1 textbox) > Private Sub btFaireDéfiler_Click() > Dim Lg As Byte, Pos As Byte, I As Byte, Ch As String, svgTxt1 As String, > Nb As Long > Nb = 3000000 : 'à adapter > svgTxt1 = Me.tTxt1 > Lg = Len(svgTxt1) > For I = 1 To Lg > Ch = Mid(svgTxt1, I + 1, Lg - I) & Left(svgTxt1, I) > Me.tTxt1 = Ch > tempo (Nb) > DoEvents > Next I > Me.tTxt1 = svgTxt1 > End Sub > > Sub tempo(Tps As Long) > Dim T As Long > For T = 1 To Tps: Next T > End Sub > A+ > > "Gilbert" a écrit dans le message de news: > >> Bonjour, >> >> Dans un formulaire j'ai une listbox qui affiche le compte-rendu >> d'exécution d'une procédure. >> Le traitement affiche de nombreuses lignes, ce qui fait qu'au bout d'un >> moment il n'est plus possible de lire ce qui s'affiche >> pendant l'exécution. >> On peut bien sûr utiliser la barre de défilement verticale, mais >> j'aimerais que ce défilement soit automatique. >> >> Connaissez-vous le moyen de réaliser ça en VBA? >> >> Merci d'avance >> >> -- >> Cordialement, >> >> Gilbert >> >> >> > > >
Bon, j'ai trouvé dans un forum
Liste.TopIndex = Liste.ListCount - 1
--
Cordialement,
Gilbert
"Gilbert" <news@news.fr> a écrit dans le message de news:%23AA%23RA1xKHA.4240@TK2MSFTNGP06.phx.gbl...
Merci de ta réponse.
Ce n'est pas une zone de texte (textbox) que je veux faire défiler, c'est
une zone de liste (listbox) dans laquelle des lignes s'inscrivent les unes
au-dessous des autres.
Je voudrait que la dernière ligne inscrite soit toujours visible.
Comme si je cliquais à chaque fois sur la flèche basse de la barre de
défilement verticale.
Gilbert
"jero" <~jero@jero.net> a écrit dans le message de news:
OTM6xwyxKHA.1548@TK2MSFTNGP02.phx.gbl...
> Salut,
> Par exemple : (btFaireDéfiler : bouton de commande, tTxt1 textbox)
> Private Sub btFaireDéfiler_Click()
> Dim Lg As Byte, Pos As Byte, I As Byte, Ch As String, svgTxt1 As String,
> Nb As Long
> Nb = 3000000 : 'à adapter
> svgTxt1 = Me.tTxt1
> Lg = Len(svgTxt1)
> For I = 1 To Lg
> Ch = Mid(svgTxt1, I + 1, Lg - I) & Left(svgTxt1, I)
> Me.tTxt1 = Ch
> tempo (Nb)
> DoEvents
> Next I
> Me.tTxt1 = svgTxt1
> End Sub
>
> Sub tempo(Tps As Long)
> Dim T As Long
> For T = 1 To Tps: Next T
> End Sub
> A+
>
> "Gilbert" <news@news.fr> a écrit dans le message de news:
> u9rHmstxKHA.3560@TK2MSFTNGP02.phx.gbl...
>> Bonjour,
>>
>> Dans un formulaire j'ai une listbox qui affiche le compte-rendu
>> d'exécution d'une procédure.
>> Le traitement affiche de nombreuses lignes, ce qui fait qu'au bout d'un
>> moment il n'est plus possible de lire ce qui s'affiche
>> pendant l'exécution.
>> On peut bien sûr utiliser la barre de défilement verticale, mais
>> j'aimerais que ce défilement soit automatique.
>>
>> Connaissez-vous le moyen de réaliser ça en VBA?
>>
>> Merci d'avance
>>
>> --
>> Cordialement,
>>
>> Gilbert
>>
>>
>>
>
>
>
Ce n'est pas une zone de texte (textbox) que je veux faire défiler, c'est une zone de liste (listbox) dans laquelle des lignes s'inscrivent les unes au-dessous des autres. Je voudrait que la dernière ligne inscrite soit toujours visible. Comme si je cliquais à chaque fois sur la flèche basse de la barre de défilement verticale.
Gilbert
"jero" <~ a écrit dans le message de news:
> Salut, > Par exemple : (btFaireDéfiler : bouton de commande, tTxt1 textbox) > Private Sub btFaireDéfiler_Click() > Dim Lg As Byte, Pos As Byte, I As Byte, Ch As String, svgTxt1 As String, > Nb As Long > Nb = 3000000 : 'à adapter > svgTxt1 = Me.tTxt1 > Lg = Len(svgTxt1) > For I = 1 To Lg > Ch = Mid(svgTxt1, I + 1, Lg - I) & Left(svgTxt1, I) > Me.tTxt1 = Ch > tempo (Nb) > DoEvents > Next I > Me.tTxt1 = svgTxt1 > End Sub > > Sub tempo(Tps As Long) > Dim T As Long > For T = 1 To Tps: Next T > End Sub > A+ > > "Gilbert" a écrit dans le message de news: > >> Bonjour, >> >> Dans un formulaire j'ai une listbox qui affiche le compte-rendu >> d'exécution d'une procédure. >> Le traitement affiche de nombreuses lignes, ce qui fait qu'au bout d'un >> moment il n'est plus possible de lire ce qui s'affiche >> pendant l'exécution. >> On peut bien sûr utiliser la barre de défilement verticale, mais >> j'aimerais que ce défilement soit automatique. >> >> Connaissez-vous le moyen de réaliser ça en VBA? >> >> Merci d'avance >> >> -- >> Cordialement, >> >> Gilbert >> >> >> > > >