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.
 

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 :confused:
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 :rolleyes:
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

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

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 ::p
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
433

Statistiques des forums

Discussions
312 609
Messages
2 090 199
Membres
104 450
dernier inscrit
Miguel937