Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Défilement automatique feuille pour projection

GuyC

XLDnaute Nouveau
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.
 

Dranreb

XLDnaute Barbatruc
Re : Défilement automatique feuille pour projection

Bonjour.
Ecrivez dans un module standard une procédure qui scrolle de 8 lignes puis qui s'autoreplanifie pour les 10 secondes suivantes avec Apllication.OnTime
À +
 

klin89

XLDnaute Accro
Re : Défilement automatique feuille pour projection

Bonsoir le forum,
Bonsoir Dranreb, GuyC

Pas sûr d'avoir vraiment saisi mais bon
VB:
Sub Defilement()
Dim k As Long, Derlign As Long
Derlign = Range("A65536").End(xlUp).Row
For k = 1 To Derlign Step 8
  Cells(k, 1).Resize(8, 5).Select
   Application.Wait Now + TimeValue("00:00:02") 'Pause de 2 secondes
 Next k
Range("A1").Select
End Sub

Klin89
 
Dernière édition:

klin89

XLDnaute Accro
Re : Défilement automatique feuille pour projection

Re

En rajouter une couleur pour accentuer l'effet du défilement :
VB:
Sub Effet_Defilement()
Dim k As Long, Derlign As Long
Derlign = Range("A65536").End(xlUp).Row
For k = 1 To Derlign Step 8
  With Cells(k, 1).Resize(8, 5)
    .Select
    .Interior.ColorIndex = 43
  End With
  Application.Wait Now + TimeValue("00:00:02") 'Pause de 2 secondes
  Cells(k, 1).Resize(8, 5).Interior.ColorIndex = xlNone
Next k
Range("A1").Select
End Sub

Klin89
 

klin89

XLDnaute Accro
Re : Défilement automatique feuille pour projection

Re GuyC,

Une variante avec 3 couleurs :
VB:
Option Base 1

Sub Effet_Defilement()
Dim k As Long, Derlign As Long, n As Byte, couleur As Byte, tablo()
Derlign = Range("A65536").End(xlUp).Row
tablo = Array(43, 44, 19) '3 couleurs
For k = 1 To Derlign Step 8
  n = n + 1: If n = 4 Then n = 1
  couleur = tablo(n)
  With Cells(k, 1).Resize(8, 5)
    .Select
    .Interior.ColorIndex = couleur
  End With
  Application.Wait Now + TimeValue("00:00:02") 'Pause de 2 secondes
   Cells(k, 1).Resize(8, 5).Interior.ColorIndex = xlNone
Next k
Range("A1").Select
End Sub

Klin89
 

klin89

XLDnaute Accro
Re : Défilement automatique feuille pour projection

Une dernière pour la route
Les lignes sont cachées au fur à mesure du défilement.

VB:
Option Base 1

Sub Effet_Defilement()
Dim k As Long, Derlign As Long, n As Byte, couleur As Byte, tablo()
Derlign = Range("A65536").End(xlUp).Row
tablo = Array(43, 44, 19) '3 couleurs
For k = 1 To Derlign Step 8
  n = n + 1: If n = 4 Then n = 1
  couleur = tablo(n)
  Cells(k, 1).Resize(8, 5).Interior.ColorIndex = couleur
  Application.Wait Now + TimeValue("00:00:02") 'Pause de 2 secondes
   With Cells(k, 1).Resize(8, 5)
    .Interior.ColorIndex = xlNone
    .Rows.Hidden = True
  End With
Next k
Rows.Hidden = False
Range("A1").Select
End Sub

Klin89
 
Dernière édition:

GuyC

XLDnaute Nouveau
Re : Défilement automatique feuille pour projection

Bonjour,

J'apporte des précisions car je pense n'avoir pas été très clair dans ma demande.
Je souhaite projeter les résultats obtenus sous excel qui sont affichés en plein écran sur mon portable.
Les lignes étant nombreuses, il faudrait les afficher par 8 et faire défiler ces paquets de 8 les uns après les autres avec une pause entre.
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).

Je suis novice donc si utilisation de vba, soyez gentille de me donner la marche à suivre pour introduire le code dans excel.
Merci
 

Dranreb

XLDnaute Barbatruc
Re : Défilement automatique feuille pour projection

Bonjour.
Alt+F11.
Clic droit dans l'explorateur de projet (sur le projet), Insertion, Module. Dans la fenêtre de code, copier la procédure.
Cordialement.
 

Dranreb

XLDnaute Barbatruc
Re : Défilement automatique feuille pour projection

L'affecter à un bouton de formulaire par exemple, ou à un bouton de barre d'outils ? Ou bien changer de fusils d'épaule et copier le contenu de la procédure du moduile ordinaire vers une procédure évènement d'un module de classe du dossier "Microsoft Excel objets". Choisir le bon objet et la bonne procédure dans les liste déroulantes qui surmontent la fenêtre de code.
P.s. Ou pour un premier essai: touche F5
À +
 

Fo_rum

XLDnaute Accro
Re : Défilement automatique feuille pour projection

Bonjour,

dans le fichier joint, une autre façon de faire (double clic sur A1 pour lancer ou arrêter).
N'apparait que la plage 8 lignes, 5colonnes.
 

Pièces jointes

  • RoulementsLignes.xls
    37.5 KB · Affichages: 113

Fo_rum

XLDnaute Accro
Re : Défilement automatique feuille pour projection

Bonsoir,

je ne comprends pas ce défaut.
Si quelqu'un peut m'expliquer le pourquoi, je l'en remercie par avance.

En remplaçant,
.Range("A" & L & ":E" & L + 7).Copy Cells(1, 1)
par
Range("A1:E8").Value = .Range("A" & L & ":E" & L + 7).Value
cela fonctionne chez moi. Donc à tester, mais attention, étant donné que tu as d'autres onglets, il faudra préciser celui à renommer en remplaçant
ActiveSheet.Name = "Projection"
par
Sheets("S").Name = "Projection"
@ 00 : on n'est jamais à l'abri d'un bug
 

Pièces jointes

  • RoulementsLignes(corrigé).xls
    46 KB · Affichages: 66

klin89

XLDnaute Accro
Re : Défilement automatique feuille pour projection

Bonsoir à tous,
Bonsoir Fo_rum,

Une ultime version :
On s'appuie toujours sur la colonne A à partir de A1.
Les blocs de 8 lignes défilent 1 par 1.

VB:
Option Base 1

Sub Effet_Defilement2()
Dim k As Long, Derlign As Long, n As Byte, couleur As Byte, tablo()
Derlign = Range("A65536").End(xlUp).Row
tablo = Array(43, 44, 19) '3 couleurs
Cells(9, 1).Resize(Derlign, 5).Rows.Hidden = True
For k = 1 To Derlign Step 8
  n = n + 1: If n = 4 Then n = 1
  couleur = tablo(n)
  Cells(k, 1).Resize(8, 5).Interior.ColorIndex = couleur
  Application.Wait Now + TimeValue("00:00:02") 'Pause de 2 secondes
   With Cells(k, 1).Resize(8, 5)
    .Interior.ColorIndex = xlNone
    .Rows.Hidden = True
  End With
  Cells(k + 8, 1).Resize(8, 5).Rows.Hidden = False
  Range("A1").Select
Next k
Rows.Hidden = False
End Sub

Klin89
 

Pièces jointes

  • Défilement.xls
    45.5 KB · Affichages: 105
Dernière édition:

Discussions similaires

Réponses
7
Affichages
560
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…