slide show in Excel with timer

news

XLDnaute Impliqué
Bonsoir,

j'utilise un modèle de slide show dans Excel, mais il y a des bug.

Comment définir la chronologie des images/chart dans slide show ?,

Comment on peut ajouter un timer (par exemple chaque 5 seconds est afficjé al prochaine
image), aulieu d'utiliser un Msgbox pour avancer de visualiser les images ?,

merci d'avance d'astuces,
'
 
Dernière édition:

news

XLDnaute Impliqué
Re : slide show in Excel with timer

Bonjour à tous du forum,

j'ai trouvé une solution de version avec timer :

HTML:
Option Explicit

Declare Function SetTimer Lib "user32" _
                            (ByVal hwnd As Long, _
                             ByVal nIDEvent As Long, _
                             ByVal uElapse As Long, _
                             ByVal lpTimerFunc As Long) As Long

Declare Function KillTimer Lib "user32" _
                            (ByVal hwnd As Long, _
                             ByVal nIDEvent As Long) As Long

' Public Variables
Dim mlTime As Long
Public mlTimerID As Long
Public mbTimerState As Boolean

Sub TimerOn()
    mlTime = 2
    If mbTimerState = False Then
        mlTimerID = SetTheTimer
    End If
    If mlTimerID = 0 Then
        MsgBox "Unable to create the timer", vbCritical + vbOKOnly, "Error"
        Exit Sub
    End If
    mbTimerState = True
End Sub

Sub TimerOff()
    If mbTimerState = True Then
        mlTimerID = KillTimer(0, mlTimerID)
        If mlTimerID = 0 Then
            MsgBox "Unable to stop the timer", vbCritical + vbOKOnly, "Error"
        End If
        mbTimerState = False
    End If
End Sub
Function SetTheTimer()
    SetTheTimer = SetTimer(0, 0, mlTime * 1000, AddressOf ClosePrintPreview)
End Function

Sub TimedSub()
    MsgBox "verify"
End Sub

Sub ShowStarringAllCharts()   ' print preview as slide show and with conditions that a chart sheet can contain chart objects
    Dim Sht As Object
    Dim ChtObj As ChartObject
    Application.DisplayFullScreen = True
    Application.ScreenUpdating = False
TimerOn
    For Each Sht In ActiveWorkbook.Sheets
        If TypeName(Sht) = "Chart" Then
            Sht.PrintPreview
        End If
        For Each ChtObj In Sht.ChartObjects
            ChtObj.Chart.PrintPreview
        Next ChtObj
    Next
     TimerOff
    Application.DisplayFullScreen = False
End Sub

Sub ClosePrintPreview()
    SendKeys "{ESC}"
End Sub

BUG restant à résoudre

Comment y mettre les chart bien au milieu du screen et dans un ordre chronologique
de recadrer les images Vogue et football dans le chart, car le chart dans slide show est trop grand par rapport à l'image, c'est à dire que le chart doit avoir la taille, les dimensions que la grandeur d'image ?

welcome = 1ier chart
image football WM 2010 = 2e image/chart,
image vogue = 3e chart,
image graphique = 4e chart,
image Excel = dernier chart
 

Pièces jointes

  • Copie_de_ChartSlideShow.zip
    219.8 KB · Affichages: 74
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : slide show in Excel with timer

Bonjour,

je te présente une autre solution, les images doivent être sous forme de fichier, si vraiment ça te gêne , je peux creuser un peu

Pour faire l'essai créer un répertoire image sur le disque C:\ ou modifier le chemin dans le code , puis mettre les images dedans en les renommant de image1 à image XXX . pour le moment le programme cherche les .jpg s'il ne trouve pas les Gif et s'il ne trouve pas sortie .

J'espère d'aborder un nouvel éclairage sur ton problème
 

Pièces jointes

  • DiapoExcel.xls
    44 KB · Affichages: 93

news

XLDnaute Impliqué
Re : slide show in Excel with timer

Bonjour à tous du forum,

Merci camarchepas pour réponse.

J'ai essayé ton code vba (ci-joint fichier images), mais ne focntionne pas, car n'est pas repris/reconnue l'image "image" dans dossier image.

Mieux serait que toutes les images d'un format jpg ou gif ou jpeg ou ...,
d'un dossier seraient reprises et sont affichées ddans slide show.

Bonne soirée et de coupe de monde de football 2010,
 

Pièces jointes

  • images.zip
    111.2 KB · Affichages: 38
  • images.zip
    111.2 KB · Affichages: 39
  • images.zip
    111.2 KB · Affichages: 39

camarchepas

XLDnaute Barbatruc
Re : slide show in Excel with timer

Re,

Bon , tu n'as pas fais le renommage pour cela que ça n'a pas marché , d'un autre côté , c'est pas forcement top , donc , j'ai changé mon fusil d'épaule et j'ai ajouté un onglet indexe , là tu peux mettre autant de photo que tu veux.

Il faut juste renseigner le nom des photos .

Un ptit plus , la tempo en seconde est réglable depuis l'écran indexe également
 
Dernière édition:

news

XLDnaute Impliqué
Re : slide show in Excel with timer

Bonjour à tous du forum,

merci camarchepas pour réponse,
Le silde show fonctionne bien. J'ai changé la qualité de résolution des photos du fichier "images". :)

Il y a des bugs restants :

La 1ière image est montré 2 fois. Au début et à la fin du slide show.
Mais dans le listing B2:B7 ne figure qu'une fois la photo.
Comment changer ?

S'il y a une case vide dans Range ("B2:B). que slide show ne s'arrête pas, mais prend la prochaine image et lorsqu'une image n'existe pas ou ne retrouve pas dans le répertoire C:/images/
de ne pas afficher ubn Msgbox, mais que la slide show continue et prend l'image suivante.

Pendant du slide show lorsque les images se suivent, si on clique entretemps sur le clavier, le slide show se bloque est affiche un bug sous : Selection.Fill.PresetTextured PresetTexture:=msoTexturePinkTissuePaper

et même du texte sera écrit dans le graphique. Est-ce qu'on peut éviter, si un utilisateur commence à écrire/tapper sur le clavier, si on a une slide show de vingt photos et cela dure plus/trop longtemps.
voir fichier Excel ci-joint.

Lors du slide show que les images se suivent, si on pousse le bouton Esc du clavier,
la slide show s'arrête à la dernirèe image et bug sous
Selection.Fill.PresetTextured PresetTexture:=msoTexturePinkTissuePaper

Comment évitrer d'écrire un text dans le chart, d'insérer des formes p.ex. éclipses rectangles, flèches ? >> peut-être en bloquer temporairement l'utilsiation du clavier et débloquer le clavier avec une macro à la fin de la slide shwo.

Comment améliorer l'aspect suviant lors de la présentation de la slide show :
Que ne sont plus affichés, lors du slide show, avec les images, les boutons carrés aux 4 cotés de l'image/chart, du au pointage.

p.ex. avant de démarrer la macro, si on clique sur le chart de la feuille "Graph1", est affiché sur les cotés ce bouton carré, et se déclanche lorsque la macro démarre.
'
 

Pièces jointes

  • DiapoExcel_02.xls
    50.5 KB · Affichages: 126
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : slide show in Excel with timer

Bonjour,

j'ai traité plusieurs problèmes :

Le cadre diapo du à le selection

j'interdis la touche ECHAP et la saisie au clavier.

puis je vide le tampon clavier .

voilà .

Les autres points pas trop clairs, si tu peux redéfinir tes besoins ...
 
Dernière édition:

news

XLDnaute Impliqué
Re : slide show in Excel with timer

Bonjour à tous du forum,

d'abord camarchepas je remercie d'avoir pris le temps,
comme il y a des émissions de sport footaball coupe du monde,
pour aider améliorer le code vba.

J'ai adapté le code dans le projet,
et je ne comprends pas pourquoi reste affiché les boutons carrés en noir autour du chart ( le cadre diapo) lors du lancement de la macro ?

Essayant de mieux expliquer :
si une image n'existe pas ou n'est pas retrouvé dans le dossier "images",
que la macro prend la prochaine image se trouvant au listing (B2:B).
Si au listing (B2:B) il a une case vide, que la macro continue est reprend la prochaine image.
Dans l'exemple, fichier ci-joint, la macro s'arrête et n'affiche plus les deux images restantes de football,

Comment avancer à résoudre ?

'
 

Pièces jointes

  • DiapoExcel_04.xls
    50.5 KB · Affichages: 114
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : slide show in Excel with timer

Re moi,

Bonne collaboration je trouve,

j'ai modifié pour les photos non disponibles et j'ai arrangé un peu le code suite à ta trouvaille de désélection.

Ton projet avance à grand pas.

En tout cas , Excel est vraiment un couteau Suisse de luxe, il fait tout sauf le café pour le moment , mais c'est pas notre dernier mot :D:D:D
 
Dernière édition:

news

XLDnaute Impliqué
Re : slide show in Excel with timer

Bonsoir à tous du forum,

Re: merci beaucoup d'avoir aidé à développé, à améliorer 'insérer images avec timer' :)

En effet avec mes connaissances en vba, je n'arrivais pas encore à tout développer.

J'ai remarqué le texte qu'il est mieux de ne pas mettre 'On error resume next'
ou trop souvent 'On error resume next'.

Mais lorsque la macro est démarrée et comme le clavier est déactivé,
s'il y a un bug, Excel tounre on rond et on peut quer fermer avec crash Excel.

p. ex. si l'utilisateur met comme timer en secondes,
le nombre 1.5 seconds, ce fichier Excel va tourner en rond,

car on doit mettre le nombre 1,5 avec virgule.

sinon, bonne soirée,
avec une bonne tasse de café ou de bière,

news
 

camarchepas

XLDnaute Barbatruc
Re : slide show in Excel with timer

Re moi,

Voici , une modif pour empêcher de mettre une valeur érronée dans les secondes , le réglage se fait en 0,00 de secondes et une validation empêche toute saisie illicite .
:D:D
 

Pièces jointes

  • DiapoExcel_04.zip
    18.6 KB · Affichages: 55

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 457
Membres
103 546
dernier inscrit
mohamed tano