Dans le code qui suit (désolé pour l'auteur, je ne me rappelle plus où je
l'ai trouvé !),
j'obtiens le message : "Propriété ou méthode non géré par cet objet"
(ligne en cause "ActiveSheet.Shapes("monshape").TextFrame.Characters.Text =
Left(t, 50)".
'-----------------------------
Sub defile()
t = "Le message qui défile pendant un temps donné ..."
n = 0
Do While n < 200
t = Right(t, Len(t) - 1) & Left(t, 1)
ActiveSheet.Shapes("monshape").TextFrame.Characters.Text = Left(t, 50)
w = 0.1
temp = Timer
Do While Timer < temp + w
DoEvents
Loop
n = n + 1
Loop
End Sub
'-----------------------------
Je ne sais pas comment identifier plus précisément le problème !
Merci pour vos lumières,
si tu l'as pris dans la BO Formulaire ça défile étrangement dans le bouton
si tu l'as pris dans la BO Contrôles VBA là tu auras propriété non gérée par l'objet, c'est bien le message que tu obtenais..?!
C'est ainsi le cas s'il se retrouve être Shapes(1) donc, lorsque tu le mets dans une feuille vide de tout shape
je voulais reprendre simplement ton exemple en t'apportant ces éléments et suggestions: -ton code en lui même fonctionne -on peut aussi déclarer les variables ;-) -on peut supposer qu'il y ait déjà ou pas un shape qui s'appelle "monshape" voir plusieurs shapes ou aucun donc
j'ai proposé une création mais il pourrait y avoir aussi vérfication, rendre visible ...
...en fonction de ton but , à toi de voir!
@+
-- lSteph
Bonsoir Stéphane,
Merci, Lors de mon premier essai, le texte a défilé dans le Shape que j'avais créé pour un autre exemple. J'ai alors déplacé le bouton de lancement de ton code, dans une autre feuille et le texte a défilé dans le bouton lui-même !! Est-ce normal ?
@+ ?
JP
Sub defile() Dim t As String, n As Long, w As Single, temp As Date If ActiveSheet.Shapes.Count = 0 Then Feuil1.Shapes.AddShape msoShapeOval, 80, 66#, 360#, 122 End If
t = "Le message qui défile pendant un temps donné ..." n = 0 Do While n < 200 t = Right(t, Len(t) - 1) & Left(t, 1) ActiveSheet.Shapes(1).TextFrame.Characters.Text = Left(t, 50)
w = 0.01 temp = Timer Do While Timer < temp + w DoEvents Loop n = n + 1 Loop End Sub
'lSteph
Bonsoir, et bonne Année à toutes et à tous ;-)
Dans le code qui suit (désolé pour l'auteur, je ne me rappelle plus où je l'ai trouvé !), j'obtiens le message : "Propriété ou méthode non géré par cet objet" (ligne en cause "ActiveSheet.Shapes("monshape").TextFrame.Characters.Text = Left(t, 50)".
'----------------------------- Sub defile() t = "Le message qui défile pendant un temps donné ..." n = 0 Do While n < 200 t = Right(t, Len(t) - 1) & Left(t, 1) ActiveSheet.Shapes("monshape").TextFrame.Characters.Text = Left(t, 50)
w = 0.1 temp = Timer Do While Timer < temp + w DoEvents Loop n = n + 1 Loop End Sub '-----------------------------
Je ne sais pas comment identifier plus précisément le problème ! Merci pour vos lumières,
JP
;-)
oui... quand même on y vient!
si tu l'as pris dans la BO Formulaire ça défile étrangement dans le bouton
si tu l'as pris dans la BO Contrôles VBA
là tu auras propriété non gérée par l'objet, c'est bien le message que
tu obtenais..?!
C'est ainsi le cas s'il se retrouve être Shapes(1) donc, lorsque tu le
mets dans une feuille vide de tout shape
je voulais reprendre simplement ton exemple en t'apportant ces éléments
et suggestions:
-ton code en lui même fonctionne
-on peut aussi déclarer les variables ;-)
-on peut supposer qu'il y ait déjà ou pas un shape qui s'appelle
"monshape" voir plusieurs shapes ou aucun donc
j'ai proposé une création mais il pourrait y avoir aussi vérfication,
rendre visible ...
...en fonction de ton but , à toi de voir!
@+
--
lSteph
Bonsoir Stéphane,
Merci,
Lors de mon premier essai, le texte a défilé dans le Shape que j'avais
créé pour un autre exemple.
J'ai alors déplacé le bouton de lancement de ton code, dans une autre
feuille et le texte a défilé dans le bouton lui-même !! Est-ce normal ?
@+ ?
JP
Sub defile()
Dim t As String, n As Long, w As Single, temp As Date
If ActiveSheet.Shapes.Count = 0 Then
Feuil1.Shapes.AddShape msoShapeOval, 80, 66#, 360#, 122
End If
t = "Le message qui défile pendant un temps donné ..."
n = 0
Do While n < 200
t = Right(t, Len(t) - 1) & Left(t, 1)
ActiveSheet.Shapes(1).TextFrame.Characters.Text = Left(t, 50)
w = 0.01
temp = Timer
Do While Timer < temp + w
DoEvents
Loop
n = n + 1
Loop
End Sub
'lSteph
Bonsoir, et bonne Année à toutes et à tous ;-)
Dans le code qui suit (désolé pour l'auteur, je ne me rappelle plus
où je l'ai trouvé !),
j'obtiens le message : "Propriété ou méthode non géré par cet objet"
(ligne en cause
"ActiveSheet.Shapes("monshape").TextFrame.Characters.Text = Left(t,
50)".
'-----------------------------
Sub defile()
t = "Le message qui défile pendant un temps donné ..."
n = 0
Do While n < 200
t = Right(t, Len(t) - 1) & Left(t, 1)
ActiveSheet.Shapes("monshape").TextFrame.Characters.Text =
Left(t, 50)
w = 0.1
temp = Timer
Do While Timer < temp + w
DoEvents
Loop
n = n + 1
Loop
End Sub
'-----------------------------
Je ne sais pas comment identifier plus précisément le problème !
Merci pour vos lumières,
si tu l'as pris dans la BO Formulaire ça défile étrangement dans le bouton
si tu l'as pris dans la BO Contrôles VBA là tu auras propriété non gérée par l'objet, c'est bien le message que tu obtenais..?!
C'est ainsi le cas s'il se retrouve être Shapes(1) donc, lorsque tu le mets dans une feuille vide de tout shape
je voulais reprendre simplement ton exemple en t'apportant ces éléments et suggestions: -ton code en lui même fonctionne -on peut aussi déclarer les variables ;-) -on peut supposer qu'il y ait déjà ou pas un shape qui s'appelle "monshape" voir plusieurs shapes ou aucun donc
j'ai proposé une création mais il pourrait y avoir aussi vérfication, rendre visible ...
...en fonction de ton but , à toi de voir!
@+
-- lSteph
Bonsoir Stéphane,
Merci, Lors de mon premier essai, le texte a défilé dans le Shape que j'avais créé pour un autre exemple. J'ai alors déplacé le bouton de lancement de ton code, dans une autre feuille et le texte a défilé dans le bouton lui-même !! Est-ce normal ?
@+ ?
JP
Sub defile() Dim t As String, n As Long, w As Single, temp As Date If ActiveSheet.Shapes.Count = 0 Then Feuil1.Shapes.AddShape msoShapeOval, 80, 66#, 360#, 122 End If
t = "Le message qui défile pendant un temps donné ..." n = 0 Do While n < 200 t = Right(t, Len(t) - 1) & Left(t, 1) ActiveSheet.Shapes(1).TextFrame.Characters.Text = Left(t, 50)
w = 0.01 temp = Timer Do While Timer < temp + w DoEvents Loop n = n + 1 Loop End Sub
'lSteph
Bonsoir, et bonne Année à toutes et à tous ;-)
Dans le code qui suit (désolé pour l'auteur, je ne me rappelle plus où je l'ai trouvé !), j'obtiens le message : "Propriété ou méthode non géré par cet objet" (ligne en cause "ActiveSheet.Shapes("monshape").TextFrame.Characters.Text = Left(t, 50)".
'----------------------------- Sub defile() t = "Le message qui défile pendant un temps donné ..." n = 0 Do While n < 200 t = Right(t, Len(t) - 1) & Left(t, 1) ActiveSheet.Shapes("monshape").TextFrame.Characters.Text = Left(t, 50)
w = 0.1 temp = Timer Do While Timer < temp + w DoEvents Loop n = n + 1 Loop End Sub '-----------------------------
Je ne sais pas comment identifier plus précisément le problème ! Merci pour vos lumières,
JP
j-pascal
Bonjour,
J'ai fait quelques modifs dans le but (complètement raté !) d'afficher le "msg" un certain nombre de fois ...
Est-il possible d' :
- afficher le message 3 fois (ie) ? - avoir une affichage par lettre et non par mot entier (fluidité ...) ? - de combiner ce code avec la procédure (que j'ai déjà faite) d'actualisation de la feuille ?
Ce que j'ai fait ;-( :
'----------------- Sub defileTer() 'cb60 + modif jp
Dim compteur As Integer Dim compteur2 As Integer
msg = "Actualisation du classeur en cours ..."
ActiveSheet.Shapes("monshapes").Visible = True
For compteur1 = 1 To 50 '' For compteur2 = 1 To 50 '' msg = Right(msg, Len(msg) - 1) & Left(msg, 1) ActiveSheet.Shapes("monshapes").TextFrame.Characters.Text = Left(msg, 50) Next compteur2 '' DoEvents Next compteur1 ''
ActiveSheet.Shapes("monshapes").Visible = False
End Sub '---------------------
@+ ?
JP
Bonjour,
J'ai fait quelques modifs dans le but (complètement raté !) d'afficher le
"msg" un certain nombre de fois ...
Est-il possible d' :
- afficher le message 3 fois (ie) ?
- avoir une affichage par lettre et non par mot entier (fluidité ...) ?
- de combiner ce code avec la procédure (que j'ai déjà faite)
d'actualisation de la feuille ?
Ce que j'ai fait ;-( :
'-----------------
Sub defileTer() 'cb60 + modif jp
Dim compteur As Integer
Dim compteur2 As Integer
msg = "Actualisation du classeur en cours ..."
ActiveSheet.Shapes("monshapes").Visible = True
For compteur1 = 1 To 50 ''
For compteur2 = 1 To 50 ''
msg = Right(msg, Len(msg) - 1) & Left(msg, 1)
ActiveSheet.Shapes("monshapes").TextFrame.Characters.Text =
Left(msg, 50)
Next compteur2 ''
DoEvents
Next compteur1 ''
J'ai fait quelques modifs dans le but (complètement raté !) d'afficher le "msg" un certain nombre de fois ...
Est-il possible d' :
- afficher le message 3 fois (ie) ? - avoir une affichage par lettre et non par mot entier (fluidité ...) ? - de combiner ce code avec la procédure (que j'ai déjà faite) d'actualisation de la feuille ?
Ce que j'ai fait ;-( :
'----------------- Sub defileTer() 'cb60 + modif jp
Dim compteur As Integer Dim compteur2 As Integer
msg = "Actualisation du classeur en cours ..."
ActiveSheet.Shapes("monshapes").Visible = True
For compteur1 = 1 To 50 '' For compteur2 = 1 To 50 '' msg = Right(msg, Len(msg) - 1) & Left(msg, 1) ActiveSheet.Shapes("monshapes").TextFrame.Characters.Text = Left(msg, 50) Next compteur2 '' DoEvents Next compteur1 ''