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 :

Auto scroll avec pause [XL-2002]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 18
    Par défaut Auto scroll avec pause
    Bonjour

    Je cherche à faire défiler automatiquement les lignes d'une feuille excel avec une pause.
    Feuille: 5 colonnes, X lignes
    Affichage: 5 colonnes, 8 lignes, pause de 10 secondes puis les 8 lignes suivantes
    et ainsi de suite jusqu'à la dernière ligne
    Défilement en boucle (à la fin, repartir au départ).

    Si code ou macro, comment les introduire à la feuille pour faire fonctionner.

    Merci pour votre aide qui me sera très précieuse.

  2. #2
    Membre confirmé
    Homme Profil pro
    developpeur
    Inscrit en
    Octobre 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 124
    Par défaut re
    Bonsoir,

    Je penses que tu cherches à faire une sorte d'effet??

    Si c'est ce genre de chose tu peux essayer ceci:

    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
    25
    Option Explicit
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Sub Deffilement()
     
        Dim nbligne, nbDeCellules
     
        Range("A1").Select
     
         nbligne = 8
    nbDeCellules = 8
     
    boucle:
        Sleep 10000 ' temps en milliseconde
        Rows("1:" & nbligne).Select 'selection pour le masquage des lignes
        Selection.EntireRow.Hidden = True ' masque la selection
        ActiveCell.Offset(nbligne, 0).Activate 'active la prochaine serie
        If ActiveCell.Offset(1, 0).Value <> "" Then 'controle le nombre de serie
        nbligne = nbligne + nbDeCellules 'ajoute la variable du nbre de cellule
        GoTo boucle 'boucle la série
        End If
     
        Cells.EntireRow.AutoFit 'affiche l'ensemble des cellules masquées
        Range("A1").Select ' retourne au départ de la serie
     
    End Sub
    A coller dans un module dans vb...

    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 18
    Par défaut
    Cette ligne ne passe pas: fenêtre erreur de compilation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Merci

  4. #4
    Membre confirmé
    Homme Profil pro
    developpeur
    Inscrit en
    Octobre 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 124
    Par défaut re
    Bonsoir,
    Essayes avec le code complet avec ceci:

    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
    Sub Deffilement()
     
        Dim nbligne, nbDeCellules
     
        Range("A1").Select
     
         nbligne = 8
    nbDeCellules = 8
     
    boucle:
        Application.Wait (Now + TimeValue("0:00:10"))' temps  de boucle
        Rows("1:" & nbligne).Select 'selection pour le masquage des lignes
        Selection.EntireRow.Hidden = True ' masque la selection
        ActiveCell.Offset(nbligne, 0).Activate 'active la prochaine serie
        If ActiveCell.Offset(1, 0).Value <> "" Then 'controle le nombre de serie
        nbligne = nbligne + nbDeCellules 'ajoute la variable du nbre de cellule
        GoTo boucle 'boucle la série
        End If
     
        Cells.EntireRow.AutoFit 'affiche l'ensemble des cellules masquées
        Range("A1").Select ' retourne au départ de la serie
     
    End Sub
    Au plaisir.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 18
    Par défaut
    Rien ne se passe sauf pointeur souri sablier quelques secondes

    Merci

  6. #6
    Membre confirmé
    Homme Profil pro
    developpeur
    Inscrit en
    Octobre 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 124
    Par défaut re
    Bonsoir,

    Deux questions, as tu ajouté du texte de la cellule A1 à... (exemple A20)?
    Il y t-il un bug au lancement?

    Chez moi ca fonctionne correctement.

    J'attends tes réponses.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 18
    Par défaut
    Non pas de texte seulement un fond bleu de A1 à A150

    comment savoir si bug au lancement

    Je lance la macro par executer de outils macro
    au lancement le curseur devient sablier après le 10 premières secondes, il y a un
    petit sursaut d'ecran et le curseur redevient normal puis plus rien ne se passe

  8. #8
    Membre confirmé
    Homme Profil pro
    developpeur
    Inscrit en
    Octobre 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 124
    Par défaut re
    Bonsoir,

    Ah oui, il faut mettre du texte ou une lettre dans les cellules de A1 à A150 par exemple!!

    Merci de me détailler le but de cette macro car si elle fonctionne qu'avec les couleurs c'est pas le bon code.

    Ce code sert à faire dérouler les paquets de ligne de 8 tous les 10 secondes.
    mais il faut de la matiere dans les cellules de la premiere colonne.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 18
    Par défaut
    je joins le fichier
    Seuls "Joueurs", "ClasseP1", "ClasseP2", "ClasseP3", "Classe P4" sont concernés par le défilement Fichier exemple.xls

    ok ça le déroulement fonctionne, j'ai numéroter les cellules A1 à A150 avec la même couleur que le font pour ne pas voir les numéros.
    Par contre ça ne boucle, le défilement revient au départ et s'arrète

  10. #10
    Membre confirmé
    Homme Profil pro
    developpeur
    Inscrit en
    Octobre 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 124
    Par défaut re
    Bon,

    Ok je vois ce que tu veux faire mais cela va te poser un autre pb:
    si je boucle en permance, comment tu va faire pour sortire de cette boucle??
    Et tout le temps que cette boucle va s'executer, aucune autres macros ne pourront être activés au même moment!!

    Connaît tu le nombre de boucle que tu souhaite ou le temps nécessaire au défilement?

    Sinon ce code peut se declancher à la suite d'un événement dans ta feuille..
    A toi de me donner des piste???

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 18
    Par défaut
    Bonjour,

    On me propose ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Joueurs
    y = 1
    Sheets("Joueurs").Cells(1).Select
    Do
    Application.Wait DateAdd("s", 1, Now)
    Application.Goto IIf(ActiveCell.Row + 10 >= Cells(Rows.Count, 1).End(xlUp).Row + 10, Sheets("Joueurs").Cells(1), ActiveCell.Offset(10)), True
    If ActiveCell.Row = 1 Then y = y + 1
    Loop Until y > Sheets("Joueurs").Range("A1").Value
    End Sub
    Une macro par feuille ( Ctrl+j ) dans ce cas, ce qui permet d'avoir un raccourci clavier spécifique à chaque feuille ( ici "Joueurs" ) et d'éviter de lancer la mauvaise feuille.

    De choisir le nombre de boucle dans "A1"

    merci pour votre avis

  12. #12
    Membre confirmé
    Homme Profil pro
    developpeur
    Inscrit en
    Octobre 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 124
    Par défaut re
    Bonsoir,

    Serait il possible de faire de nous faire un point sur le but final de ce classeur?

    Explique l'interêt afin de te donner une réponse plus précise.

    A+

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 18
    Par défaut
    Bonjour,

    Le but du classeur est de rentrer les résultats des joueurs de plusieurs manches sur des feuilles appropriées afin de projeter sur un écran d'autres feuilles mises en forme qui ne reprennent que les totaux de chaque joueur dans l'ordre décroissant, ce qui donne leur classement.
    Le nombre important de joueurs oblige à projeter par paquet de 10 avec une pause pour le temps de lecture.

    Merci à tous

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/12/2005, 20h43
  2. Auto-scroll d'une zone de texte multi ligne
    Par malek_dz77 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/11/2005, 13h09
  3. [FLASH 8] Probleme de scrolling avec clip
    Par Mr-Hunter dans le forum Flash
    Réponses: 1
    Dernier message: 28/11/2005, 22h04
  4. [FLASH 8] Scroll avec juste 2 fleches
    Par Gemelos dans le forum Flash
    Réponses: 10
    Dernier message: 24/11/2005, 14h36
  5. [javascript] Scroll avec une image
    Par Salih-du-91 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/10/2005, 07h46

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