Texte defilant
Bonjour a tous et toutes, forum bonjour,
Ce code est senser faire défiler le texte dans A1pendant quelques secondes puis une tempo de 3 secondes et c'est le texte de A2 qui défile.
Et bien ca défile mais constater par vous mème l'affichage c'est pas ca.
(1) souci le texte passe en rouge gras, c'est pas le but
(2) souci quand le texte s'arrète hé c'est pas terrible non plus
Si quelqu'un veut bien SVP se pencher dessus et me donner un petit coup de main, ca serai super sympa.
En tout cas merci a vous et de votre temps et bonne journée malgré la pluie
Raymond
Option Explicit
Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)
Sub Tst()
Dim X, y As Byte
[A1] = Application.Proper(Format(Date, "dddd dd mmmm yyyy"))
[A2] = "Semaine: " & DatePart("ww", Date, vbMonday) & " " & _
DatePart("y", Date, vbMonday) & " ième jour de l" & Chr(180) & "année"
With [A1:A2].Characters(1).Font
.FontStyle = "Gras"
.ColorIndex = 3
End With
With [A1:A2].Characters(2).Font
.FontStyle = "Normal"
.ColorIndex = xlAutomatic
End With
X = InStr(InStr([A1], " ") + 2, [A1], " ") 'Détecte 2 espaces dans la date
With [A1].Characters(X + 1).Font 'Pour deuxième majuscule Mois
.FontStyle = "Gras"
.ColorIndex = 3
End With
With [A1].Characters(X + 2).Font
.FontStyle = "Normal"
.ColorIndex = xlAutomatic
End With
End 'Mis END pour essai majuscule sans déclencher a chaque fois le défilement
'*** CODE POUR LE DEFILEMENT DES DEUX MESSAGES CELLULES A1/A2
Dim C As Range: Dim D As Range: Dim i
Set C = [A1]
For i = 1 To 40 'Durée de rotation de la date
C = Right(C, Len(C.Value) - 1) + Left(C, 1)
Sleep 220 'Vitesse de rotation
Next i
Application.Wait (Now + TimeValue("00:00:03")) 'Tempo de 3 secondes
Set D = [A2]
For i = 1 To 40 'Durée de rotation semaine et jour
D = Right(D, Len(D.Value) - 1) + Left(D, 1)
Sleep 220 'Vitesse de rotation
Next i
End SubBonjour
un petit essai
edit: Voir fichier dans les messages suivants
cordialement
Bonjour maguetlolo, bonjour forum,
Merci pour le petit code, ca marche " presque " juste une question pourquoi le texte ne défile pas normalement tel qu'il a été créer, c'est a dire avec les majuscules rouges et gras et font noir après la majuscule.
Pour le (J)our et le (M)ois ainsi que (S)emaine et pourquoi ca passe rouge gras quand le défilement commence.
Par contre a l'arrèt du défilement ca se repositionne correctement.
A part que le code fait un peu usine a gaz, il ni a pas moyen de faire mieux en VBA.
Voila en tout cas merci pour temps passer dessus
Je te souhaite une bonne journée, dit moi si il y aurai une autre possibilité SVP
Raymond
Bonjour le forum
voici le final,
Pour le défilement en rouge, je pense que ca vient des majuscules en rouge. et je ne saurai pas corriger cela. je te le fait juste défiler en noir.
https://www.excel-pratique.com/~files/doc2/rt46cdefilement.xls
cordialement
Salut maguetlolo, forum,
Merci Merci Merci beaucoup, ca me va bien comme ca et ca marche.
Si tu as le temps et sans vouloir abuser, je souhaiterai mettre aussi le (J) de jour en rouge et gras.
Voila en tout cas merci a toi passe une excellente après midi.
Une question svp: Tu sais pourquoi on peut pas faire défiler avec les majuscules en couleurs.
Bye Bye Raymond
re
Voici ton fichier avec le j de jour en rouge
pour le defilement, je ne saurais te répondre, peut-etre que cela est possible mais ca depasse mes compétences.
https://www.excel-pratique.com/~files/doc2/YA0JLdefilement.xls
Cordialement
Re maguetlolo, forum
Re merci a toi c'est super sympa, tout fonctionne bien, je vais intégrer le code a mon programme cette apres midi
Par contre pour le bouton qui appelle la macro comment on a accès a celui ci, car je voudrai le rennomer et le deplacer svp
J'essairai de me renseigner pour la question que je t'ai poser, je te dirai si je trouve, c'est la moindre des choses.
Encore merci et bonne après midi a toi.
Raymond
Salut maguetlolo, forum
Encore un gros merci a toi, c'est bon pour le bouton j'ai trouver. tout marche bien.
je vais en quète de savoir pourquoi les majuscules en rouge ne défilent pas, apres avoir regarder le code, sans etre balèze, si je trouve, on pourrai peut etre bien rapetisser le code, ca reste a voir.
Bonne apres midi
Raymond
Salut le forum
Raymond(Duduleray), tu as la même solution de l'autre côté
Option Explicit
Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)
Sub Tst()
Dim I As Byte
Dim C As Range
[A1] = Application.Proper(Format(Date, "dddd dd mmmm yyyy")) & " "
Maj_Rouge ([A1])
[A2] = "La " & DatePart("y", Date, vbMonday) & " ième Journée" & _
" de la " & DatePart("ww", Date, vbMonday) & " ième Semaine. "
Maj_Rouge ([A2])
'*** Code pour le défilement du texte des cellules A1 et A2 ***
Sleep 1000
Set C = [A1]
For I = 1 To Len([A1]) * 2
C = Right(C, Len(C.Value) - 1) + Left(C, 1)
Maj_Rouge ([A1])
Sleep 100
Next I
Sleep 1000
Set C = [A2]
For I = 1 To Len([A2]) * 2
C = Right(C, Len(C.Value) - 1) + Left(C, 1)
Maj_Rouge ([A2])
Sleep 100
Next I
Set C = Nothing
End Sub
Sub Maj_Rouge(Cellule As Range)
Dim I As Byte
For I = 1 To Len(Cellule)
With Cellule
With .Characters(I).Font
.FontStyle = "Normal"
.ColorIndex = xlAutomatic
End With
Select Case Asc(Mid(.Value, I, 1))
Case 65 To 90
With .Characters(I).Font
.FontStyle = "Gras"
.ColorIndex = 3
End With
End Select
With .Characters(I + 1).Font
.FontStyle = "Normal"
.ColorIndex = xlAutomatic
End With
End With
Next I
End SubEn espérant que la limite de la simplification est atteinte
Désolé, d'avoir envahi cette ficelle
Mytå
P.S. Il faut le dire que l'on demande la même chose sur d'autres forum