IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Texte qui défile [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut Texte qui défile
    Bonjour a tous et toutes, forum bonjour

    Voila je cherche SVP un petit code VBA simple qui aurai pour but de faire défiler dans les deux cellules A1 et A2 de gauche vers la droite les textes suivants.

    En A1 >>> Vendredi 08 Mai 2009
    En A2 >>> Semaine N° 19 128 ième Jour de l'Année

    Merci d'avance pour votre aide et bonne journée a vous.


    Raymond

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Faisable, mais cela va prendre beaucoup de ressource CPU et ralentir fortement excel.
    A+
    Edit : J'ai oublié de dire que cela va générer des interruptions (clignotement) sur le curseur d'excel.

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Salut Leforestier, forum,

    Merci pour ta réponse c'est gentil, je connais les conséquences engendrées par ce type de code, ca ne changera rien mais j'ai un très bon PC, mais c'est pas grave, c'est bon de savoir quand mème comment on fait.

    Question (1)
    Serait-il possible d'avoir une macro en arrière plan, c'est à dire que l'on puisse travailler sur le fichier pendant le défilement ?

    Question (2)
    S'aurais tu SVP me faire un petit code pour faire marcher tout ca ?

    Merci a toi et bonne fin d'apres midi.
    Raymond

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonsoir,

    Tu peux adapter le code suivant en plaçant le WebBrowser dans la feuille de calcul :
    Comment faire défiler un texte dans un UserForm ?

    bonne soirée
    michel

  5. #5
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Bonsoir SilkyRoad, forum,

    Merci pour egalement pour ta reponse, c'est sympa, j'ai regarder ce que tu me conseilles mais houla ca dépasse de loin mes compétences en VBA.

    Je ne sais pas faire, je me débrouille et c'est déja dur, mais je m'accroche.

    Merci tout de mème a toi d'avoir lu mon post.
    Je te souhaite une bonne soirée

    Raymond

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Par défaut
    Bonjour,
    avec le contrôle activex MBTimer.ocx (gratuit c'est important) il n'y a pas de problème. Il suffit de :
    - l'enregistrer dans la base de registre par un regsrvr32
    - l'ajouter dans les références du classeur

    puis dans la feuille où le texte doit défiler écrire par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Private WithEvents Chrono As MBHiTimer.CHiTimer
     
    Private Sub Chrono_Timer
     If Not ActiveSheet Is worksheet then Exit sub
     With WorkSheet
       .Range("A1")=Right(.Range("A1",1) & Left(.Range("A1"),Len(.Range("A1"))-1)
     .Range("A2")=Right(.Range("A2",1) & Left(.Range("A2"),Len(.Range("A2"))-1)
     End with
    End sub
     
    Private Sub WorkSheet_Ativate()
     Me.Range("A1")=Format(Date,"dddd dd mmmm yyyy") 
     Me.Range("A1")=Ucase(Left(Range("A1"),1)) & Mid(Me.Range("A1"),2)
     Me.Range("A2")="Semaine n°" & DatePart("w",date) & " " & 1+DateDiff("d",DateSerial(year(Date),1,1), Date) & "ième jour de l'année") 
     Me.Range("A1")=Me.Range("A1") & string(len(me.range("A1"))," ")
     Me.Range("A2")=Me.Range("A2") & string(Abs(len(Me.Range("A2"))-len(Me.Range("A1"))," ")
     Set Chrono=New MBHiTimer.CHiTimer
     Chrono.Interval=200
     Chrono.Enabled=True
    End sub
     
    Private Sub WorkSheet_Deactivate()
     Set Chrono=Nothing
    End sub

  7. #7
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir Leforestier, Silkyroad, ilank, le forum
    Re Ray,

    J'ai voulu tester ta proposition Ilank, j'ai installé le complément, copié ton code et voilà le résultat, beaucoup de ligne en rouge
    Pièce jointe 46387
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  8. #8
    Membre Expert
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Par défaut
    Bonsoir,
    tu as raison, voilà les corrections, des parnthèses oubliées lors de l'écriture du code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Private WithEvents Chrono As MBHiTimer.CHiTimer
     
    Private Sub Chrono_Timer()
     If Not ActiveSheet Is Me Then Exit Sub
     With Me
       .Range("A1") = Right(.Range("A1"), 1) & Left(.Range("A1"), Len(.Range("A1")) - 1)
     .Range("A2") = Right(.Range("A2"), 1) & Left(.Range("A2"), Len(.Range("A2")) - 1)
     End With
    End Sub
     
    Private Sub WorkSheet_Activate()
     Me.Range("A1") = Format(Date, "dddd dd mmmm yyyy")
     Me.Range("A1") = UCase(Left(Range("A1"), 1)) & Mid(Me.Range("A1"), 2)
     Me.Range("A2") = "Semaine n°" & DatePart("w", Date) & " " & 1 + DateDiff("d", DateSerial(Year(Date), 1, 1), Date) & "ième jour de l'année"
     Me.Range("A1") = Me.Range("A1") & String(Len(Me.Range("A1")), " ")
     Me.Range("A2") = Me.Range("A2") & String(Abs(Len(Me.Range("A2")) - Len(Me.Range("A1"))), " ")
     Set Chrono = New MBHiTimer.CHiTimer
     Chrono.Interval = 200
     Chrono.Enabled = True
    End Sub
     
    Private Sub WorkSheet_Deactivate()
     Set Chrono = Nothing
    End Sub

  9. #9
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    re ilank

    bien je viens de recopier mais la premier ligne est toujours en rouge

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private WithEvents Chrono As MBHiTimer.CHiTimer
    Bonne soirée

    Ps : J'ai fais une erreur et remis le code à sa place, plus de problème

    Merci
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  10. #10
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Maintenant j'ai testé ce code et je me retrouve avec une erreur 429
    "un composant activex ne peut pas creer d'objet"

    Pièce jointe 46389
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  11. #11
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour à tou(te)s
    J'ai fait comme demander, un code simple pour afficher dans les cellules A1/2 mais le résultat est décevant, ont ne peu travailler que lettre à lettre ce qui fait saccader le texte mais pas moyen de faire mieux dans une cellule.
    J'ai donc mis deux autre systèmes, le 1er c'est celui renseigné par SilkyRoad, avec le WebBroser, le deuxième donne le même résultat que le webBroser mais avec un Frame et un label.
    NB: il y avait moyen de ne pas mettre de frame.
    Le fait de changer de feuille active/déactive les différents modèles.
    A+
    Fichiers attachés Fichiers attachés

  12. #12
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Bonjour Leforestier, forum bonjour

    Merci pour ton code, effectivement c'est une horreur, en VBA vraiment décu de pouvoir simple et mieux.
    Enfin c'est comme ca, je crois que je vais laisser tomber ce genre de code qui en fait ne sert a rien dans ce cas vu la lenteur.

    Passe une bonne journée et encore merci

    Raymond

  13. #13
    Membre Expert
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Par défaut
    Bonjour,
    personnellement je n'ai pas de problèmes avec la méthode donnée; je suis sous WinXP Office 2000 et 2002.
    J'ai copié les deux fichiers zippés sur mon disque dur.
    -Cliquer bouton droit sur le fichier MBTimer.ocx copié
    -Choisir Ouvrir avec...
    -Chercher le fichier c:\windows\system32\regsvr32.exe

    Puis dans mon classeur,
    Cliquer Menu Outils=>Macro=>Visual Basic Editor
    Dans la fenêtre Visual Basic
    Cliquer Menu Outils=>Références => Parcourir :
    -Aller chercher le MBTimer.ocx copié
    De manière à voir la référence MB High Resolution Timer Control 1.0 cochée dans la liste.

    Maintenant copier le code dans la page de code de la feuille où doit défiler les messages.

  14. #14
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Salut Leforestier, salut forum

    Bien eu ton message et j'ai vu tes deux autres facons de faire, la ca marche mieux et c'est bien joli.

    Donc je vais voir, car peut etre il faudra que je modifie mon programme.

    En tout cas merci je garde dans l'attente d'une eventuelle utilité.

    Encore Merci a toi et bonne journée.

    Raymond

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Texte qui défile "sacadé"
    Par skeut dans le forum Flash
    Réponses: 3
    Dernier message: 22/11/2009, 23h53
  2. texte qui défile
    Par Nayila dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/08/2008, 13h58
  3. Texte qui défile de haut en bas.
    Par womannosky dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 13/08/2007, 15h20
  4. [Technique] Texte qui défile avec temps de pause
    Par AnGe7s dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/04/2007, 01h57
  5. Comment Insérer un texte qui défile???
    Par Jayceblaster dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 18/04/2006, 13h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo