XL 2010 Annulation message d'ouverture de fichier dans Excel

jpmetge

XLDnaute Nouveau
J'ai créé une macro qui lance doit lancer en boucle des vidéos grâce à un lien hypertexte.
Le problème est qu'à chaque tentative d'ouverture du fichier j'ai le message :
1565421294996.png

je ne souhaite pas modifier la base de registre, existe t il une autre solution ?
Merci pour vos réponses
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, jpmetge

Tu ne souhaites pas modifier la base de registre mais peut-être souhaites-tu quand même nous dire Bonjour...
(voir la charte du forum, point 3 [section Pour tous])

Sinon pour ta question, (et à vue de nez), j'essaierai en passant par un objet WSH lancé par VBA.
NB: Voir sur le net la littérature sur: CreateObject("WScript.Shell")
 

jpmetge

XLDnaute Nouveau
Bonjour,

Merci pour le rappel de politesse, pas très élégant mais efficace.
Ceci dit, je suis nouveau sur nouveau sur ce forum et je n'ai pas encore tous les réflexes.
Par contre je ne comprends pas trop votre réponse concernant WSH, pouvez-vous détailler svp ?
 

Staple1600

XLDnaute Barbatruc
Re,

On est rarement élégant un samedi matin au réveil ;)

Nouveau sans doute, mais sachant lire c'est certain ;)
(Et c'est explicite dans ce cas : !! A lire avant de poster !! : Charte + Guide)

Pour le reste, il suffit de sélectionner le mot-clé que j'ai glissé dans mon précédent message puis de faire un clic-droit et choisir l'option idoine ;)

En d'autres termes, réveiller sa curiosité en sollicitant le moteur de recherche de ton choix.
 

Staple1600

XLDnaute Barbatruc
Re

Donc au cas, ou tu n'aurais pas trouvé (et puisque c'est fait et testé)
VB:
Sub test()
Dim wsh As Object
Set wsh = CreateObject("WScript.Shell")
'test site web
wsh.Run "https://www.excel-downloads.com/threads/annulation-message-douverture-de-fichier-dans-excel.20034858/"
'test video
wsh.Run "C:\Users\Staple\Videos\Test1.wmv"
End Sub
NB: Il suffit d'indiquer le chemin complet vers le fichier vidéo.
(Cela ne fonctionnera que sur un Excel tournant sous Windows)
 

Staple1600

XLDnaute Barbatruc
Re

En attendant la réponse à mes questions, une autre possibilité (à l'ancienne)
VB:
Private Declare Function ShellExecute _
  Lib "Shell32.dll" Alias "ShellExecuteA" _
     (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
      ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
 
Sub Lancer_VIDEO()
Dim Video$, Chemin$
Video = "Test.wmv": Chemin = "C:\Users\STAPLE\Videos\"
RetVal = ShellExecute(0&, "open", Video, vbNullString, Chemin, 1&)
End Sub
 

jpmetge

XLDnaute Nouveau
Cette dernière réponse fonctionne parfaitement pour une vidéo.
Que dois je écrire dans la procédure appelante pour qu'elle exécute d'abord Lancer_Video avec Video = "Test1.wmv", puis un délai de quelques secondes et un autre appel à Lancer_Video avec Video = "Test2.wmv" par exemple ?
Merci d'avance.
Pour info :
Je suis sous Windows 10
mon lecteur est :

1565440965412.png
 

Staple1600

XLDnaute Barbatruc
Re

Donc il ne faut pas attendre la fin de la lecture de la Video1 avant de lancer la Video2?
Pas sur que Windows apprécie qu'on lance N instances du player video toutes les x secondes, non ?

Et là on est en train de dénaturer d'Excel...qui à la base est un tableur ;)
Et cette section du forum est dédié à Excel, pas aux images qui bougent ;)

EDITION: Bonjour Roblochon
Ah oui, j'avais zappé le Centre
(Pourtant j'aimais bien Jarod (et encore plus Miss Parker) ;) )
 
Dernière édition:

jpmetge

XLDnaute Nouveau
Non ce que je cherche c'est que cette procédure fonctionne :

Sub Boucle()
'
' Boucle Macro
'

'
Application.DisplayAlerts = False
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
Sheets("Liste").Select

Video = "Armoire.mp4"
chemin = "C:\Users\jean-paul\Documents\ActivCoarraze\Tutoriels vidéo\"
Call Lancer_VIDEO(Video, chemin)

DoEvents

Video = "L'arborescence documentaire.mp4"
chemin = "C:\Users\jean-paul\Documents\ActivCoarraze\Tutoriels vidéo\"
Call Lancer_VIDEO(Video, chemin)

Application.DisplayAlerts = True
End Sub
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,
Re @Staple1600 ,

Sans doute qu' en mettant le répertoire concerné dans les emplacements approuvés, cela le ferait:

Options Excel/Centre de gestion de la confidentialité/ Paramètres du centre de gestion de la confidentialité/Emplacements Approuvés.

Attention à ce qu'aucun fichier viral ne s'y trouve et prendre toutes les mesures idoines pour que cela n'advienne pas.

Bon après-midi
 

Discussions similaires

Réponses
5
Affichages
195
Réponses
36
Affichages
1 K

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 870
dernier inscrit
Armisa