Problème ouverture de photo après mise à jour de Windows 10

Bonjour,

Comme vous m’avez déjà beaucoup aidé je reviens chez vous pour un problème avec Excel 2016, windows 10 et un Userform. On ne change pas une équipe qui gagne ...

Suite au passage de Windows 10 à «Windows Creator » la fonction « ouverture d’une photo » dans mon « userform » ne marche plus comme avant la mise à jour.

Je m’explique, voici le code :

'     Ouverture du dossier Photo de la radio (Image en grand dans soft image) mais via le bouton de commande
'  *******************************************************************************************************************************

Private Sub CommandButton5_Click()     ' click sur le bouton "Photos"
   If Photo1 <> "" Then
       CreateObject("Shell.Application").Open (Photo1)
   Else
        MsgBox ("il n'y a pas d'images disponibles")       'si on clique sur le bouton et qu'il n'y a pas de photos
   End If
End Sub

En cliquant sur le bouton5 j’ouvrais « photo1 » avec le programme « photo de Windows » et je pouvais parcourir les différentes autres photos du directory ou se trouvait « photo1 » soit avec la roulette de la souris ou avec les flèches « avant » et « arrière » du programme « Photo » de Windows.

Depuis la mise à jour de Windows, « Photo1 » s’ouvre toujours mais je ne peux plus afficher les autres photos du directory. La roulette n’agit pas et les flèches du programme photo sont grisées.

Qu’en pensez-vous ?

Comment retrouver le fonctionnement ou je pouvais afficher les autres photos du dossier

Merci pour le coup de main

Jean-Pierre

Alors personne pour une idée à ce sujet ?

"These" ou "MFerrand", vous qui m'aviez déjà beaucoup aidé, êtes vous encore par là ?

Je vois que le sujet ne passionne pas grand monde ou personne n'a d'explications plausibles.

Essayons donc de modifier ma demande.

Comment faire ouvrir l'application photo de Windows (ou une autre application de visualisation de photo) et de pouvoir en travaillant avec la roulette de la souris faire défiler les autres images contenues dans le dossier.

Voila ce que je cherche à faire:

  • ouvrir un dossier de photos avec l'explorateur Windows
  • double cliquer sur une photo du dossier (ce qui va provoquer l'ouverture de la photo)
  • et avec la roulette de la souris je peux faire défiler les différentes photos présentes dans le dossier.

Mais j'aimerai faire cela en VBA en cliquant sur un bouton d'un Userform.

Pour l'instant cela fonctionnait avec le code donné dans mon premier message, mais actuellement avec la nouvelle version "Creator" le défilement (la roulette) ne fonctionne plus.

Donc quel code pour réaliser cela ?

Merci

Bonsoir,

Travaillant sous Win 7 actuellement, je ne peux rien te dire de sûr concernant les effets de la dernière mise à jour de Win 10... !

Cordialement.

Merci pour cette info.

J'ai décidé d'abandonner l'ouverture de mon image avec le soft "photo" de "Windows 10" car Windows change trop souvent.

Je vais utiliser le soft "FSviewer".

J'ai fait plusieurs tests:

  • si je met le soft FSviewer comme application par défaut pour les fichiers ".jpg" cela fonctionne bien.
  • Par contre je ne trouve pas la syntaxe pour garder "photo" comme application par défaut mais ouvrir mon image avec "FSviewer".

Voir explications et les essais dans le code ci-dessous:

Private Sub CommandButton5_Click()     ' click sur le bouton "Photos"

   If Photo <> "" Then

'    CreateObject("Shell.Application").Open (Photo)  ' cela est ok avec le soft "Photo" de Windows si photo est l'application par défaut pour les fichiers avec extention ".jpg"
'    CreateObject("Shell.Application").Open (Photo)  ' cela est ok avec le soft "FSviewer" si "FSViewer" est l'application par défaut pour les fichiers avec extention ".jpg"

'  Mais je ne désire pas mettre "FSViewer" comme application par défaut.
'  Donc voici mes essais:

'      Shell """D:\Dossier JPB\Download\FastStone Image Viewer\FSViewer64\FSViewer.exe""   D:\Avion1.jpg"      ' cela est ok l'image "Avion1.jpg" s'affiche.

  '    mais je veux afficher l'image qui est dans la variable Photo et ces 3 essais ci-dessous ne fonctionnent pas.
  '    Ils ouvrent le soft "FSViewer" mais n'affiche pas l'image !

 ' Shell """D:\Dossier JPB\Download\FastStone Image Viewer\FSViewer64\FSViewer.exe""   (Photo)"     ne va pas
 '  Shell """D:\Dossier JPB\Download\FastStone Image Viewer\FSViewer64\FSViewer.exe""   Photo"      ne va pas
 '  Shell """D:\Dossier JPB\Download\FastStone Image Viewer\FSViewer64\FSViewer.exe""   ""(Photo)"""   ne va pas

 ' Quelle est la bonne syntaxe !!!

   Else

        MsgBox ("il n'y a pas d'images disponibles")       'si on clique sur le bouton et qu'il n'y a pas de photos

   End If

End Sub

Merci pour la bonne syntaxe

Essaie ainsi :

Sub test()
    Shell "D:\Dossier JPB\Download\FastStone Image Viewer\FSViewer64\FSViewer.exe " _
     & "D:\Avion1.jpg", vbNormalFocus
End Sub

Si le chemin de l'exécutable et le chemin du fichier sont bons, cela doit fonctionner.

Cordialement.

Merci pour cette réponse mais j'ai déjà la solution pour afficher une image donnée en toute lettre ("D:\Avion1.jpg") qui fonctionne (voir code ci dessous)

      Shell """D:\Dossier JPB\Download\FastStone Image Viewer\FSViewer64\FSViewer.exe""   D:\Avion1.jpg"      ' cela est ok

Ce code fonctionne bien.

Mais je cherche la solution pour passer le nom de l'image par une variable par exemple la variable "Photo1"

Donc comment écrire

      Photo1 = "D:\Avion1.jpg"
      Shell """D:\Dossier JPB\Download\FastStone Image Viewer\FSViewer64\FSViewer.exe""   (???)Photo1 (???)"     

Question complémentaire:

que signifie ou quel effet a "vbNormalFocus" et quelles sont les autres possibilités

Merci pour ton aide

que signifie ou quel effet a "vbNormalFocus" et quelles sont les autres possibilités

L'Aide sur la syntaxe de Shell t'apprendra tout ce que tu dois savoir sur la question !

Une variable ne se met jamais entre guillemets.

Sub test()
    Shell "D:\Dossier JPB\Download\FastStone Image Viewer\FSViewer64\FSViewer.exe " & photo1
End Sub

NB- Et inutile de multiplier les guillemets !

Merci pour cette aide mais il y a toujours un os:

Si le nom de ma variable photo contient un espace cela ne fonctionne pas

s'il n'y a pas d'espace tout est en ordre

Résumé:

  • si variable photo1= "D:\Avion1.jpg" l'image s'ouvre en plein écran
  • si variable photo1 = "D:\Avion 1.jpg" le soft se lance mais l'image ne s'ouvre pas !

Que faire ?

(J'ai pas envie de renommer toutes mes images)


Complément d'information:

  • si je lance SFviewer via la box "exécuter" cela ne fonctionne pas non plus avec un espace dans le nom de l'image
  • par contre si je double clique sur l'image dans l'explorateur cela fonctionne avec ou sans espace dans le nom de l'image

???

re-complément d'info:

depuis la box "exécuter"

D:\Dossier JPB\Download\FastStone Image Viewer\FSViewer64\FSviewer.exe D:\Avion1.jpg fonctionne

D:\Dossier JPB\Download\FastStone Image Viewer\FSViewer64\FSviewer.exe "D:\Avion1.jpg" fonctionne aussi

D:\Dossier JPB\Download\FastStone Image Viewer\FSViewer64\FSviewer.exe D:\Avion 1.jpg ne fonctionne pas !

D:\Dossier JPB\Download\FastStone Image Viewer\FSViewer64\FSviewer.exe "D:\Avion 1.jpg" fonctionne

Donc à première vue je devrai mettre dans ma variable photo un string mais entouré de ""

Je vais tester et je reviens

Bingo

C'était bien cela!

Le nom de l'image doit être entouré de guillemet s'il y a un espace.

Tout va bien actuellement...

Un tres grand merci pour ton aide et bon weekend

Bonjour,

Désolé pour le délai... hier, c'était repas familial...

J'ai fait quelques essais... Ce qui me paraît curieux c'est que nom de fichier avec espace, s'ouvre dans le cas d'un pdf, échoue pour un fichier image ! (sans border par des guillemets...) Pas le temps de creuser plus, mais ton problème est résolu...

Bonne continuation.

Et bon dimanche.

Rechercher des sujets similaires à "probleme ouverture photo mise jour windows"