Ouvrir un fichier avec liste déroulantes

Bonjour

Sur ma feuille j'ai deux combobox

"Combobox1 pour les continents et combobox deux pour les pays"

Avec la combobox2 j'aimerais ouvrir le répertoire en sachant que le chemin est: J:\Dossier_Monnaies\Continent et combox1 et combobox2

Je vous remercie de votre aide

Cordialement

Max

Salut,

Il faut aussi le nom d'extension pour pouvoir ouvrir le fichier (enfin il me semble que c'est indispensable, à confirmer).

Du coup j'ai ajouté une cellule pour choisir le nom d'extension.

Voici le code à appeler avec un bouton par exemple :

Sub OuvrirFichier()
    Dim FichierExistant As Boolean 'Variable qui sert à vérifier si le fichier existe

    FichierExistant = (Dir(ActiveSheet.Range("B1") & ActiveSheet.Range("B2") & ActiveSheet.Range("A4")) <> "")
    If FichierExistant = False Then
        MsgBox ("Le fichier n'existe pas !")
        Exit Sub
    End If
    'Si le fichier n'existe pas, on sort de la macro

'Workbooks.Open n'est pas la bonne fonction, il faut juste la remplacer par une qui ouvre n'importe quel fichier
    Workbooks.Open Filename:=ActiveSheet.Range("B1") & ActiveSheet.Range("B2") & ActiveSheet.Range("A4")
End Sub

Edit:

J'ai juste modifié quelque truc dans la macro, il faut aussi trouver la fonction qui permet d'ouvrir un fichier quelconque

Skiinck

Bonjour Skiinck

Je te remercie les fichier sont des images style Jpg, Gif

Le chemin est: "J:\Dossier_Monnaies\continent\" je vois pas comment mettre le chemin?

Je te souhaite une bonne journée

Max

Entre-temps j'ai trouvé la fonction !

Voici le code avec ton chemin de destination :

Sub OuvrirFichier()
    Dim FichierExistant As Boolean 'Variable qui sert à vérifier si le fichier existe

    FichierExistant = (Dir("J:\Dossier_Monnaies\continent\" & ActiveSheet.Range("B1") & "\" & ActiveSheet.Range("B2") & ActiveSheet.Range("A4")) <> "")
    If FichierExistant = False Then
        MsgBox ("Le fichier n'existe pas !")
        Exit Sub
    End If
    'Si le fichier n'existe pas, on sort de la macro

    ThisWorkbook.FollowHyperlink ("J:\Dossier_Monnaies\continent\" & ActiveSheet.Range("B1") & "\" & ActiveSheet.Range("B2") & ActiveSheet.Range("A4"))
End Sub

Dis moi si ça marche !

Skiinck

Re,

Non il me donne toujours la MsgBox ("Le fichier n'existe pas !")

@+

Re,

Vérifie que ton fichier existe bien,

Normalement ton fichier doit être dans :

J:\Dossier_Monnaies\continent\Europe

et doit s'appeler :

Allemagne.jpg

Es-tu sûr que c'est le cas ?

Il n'y a pas de faute de frappe ?

Skiinck

Re,

Excuse moi de ne pas avoir répondu avant problème internet.

Le chemin est exactement ceci: J:\Dossier_Monnaies\Continent\Europe\Allemagne

@+

Max

Re,

Allemagne est un dossier ou un fichier ?

Skiinck

Re

Allemagne est un dossier a l'intérieur il y a des Jpg

Mais logiquement le Chemin est J:\Dossier_Monnaies\Continent\

"B1"=Europe

"B2" =Allemagne

Re,

Le but est d'ouvrir tout les fichiers du répertoire ?

Skiinck

Re,

Le but et d'ouvrir le fichier correspondant aux deux combobox

Salut,

Ne serais-tu pas en train de confondre Dossier et Fichier ?

"Allemagne" est un répertoire ou une image ?

Si c'est un répertoire, l'image qu'il y a dedans s'appelle comment ?

Bonjour Skiinck

Dans le disque dur "J"

Il y a un dossier qui se nomme "Dossier_Monnaies"

Dans ce dossier il y a un sous dossier qui se nomme "Continent"

Et dans Continent on a 5 sous dossiers qui se nomme "Afrique, Amérique, Asie, Europe et Océanie"

Et dans ces 5 sous dossiers on trouve d'autre sous dossier qui représente les pays

Et ex: dans le répertoire Allemagne il y a des images

Se qui te donne ceci/

J:\Dossier_Monnaies\Continent\Europe\Allemagne

@+

Max

Dans ce cas ton chemin doit être du type :

J:\Dossier_Monnaies\Continent\Europe\Allemagne\NOM_DE_TON_IMAGE.jpeg

Re,

Si tu veux ouvrir une image il faut utiliser le chemin que melch a dit :

J:\Dossier_Monnaies\Continent\Europe\Allemagne\NOM_DE_TON_IMAGE.jpeg

Ou est-ce le dossier que tu veux ouvrir ? (c'est à dire ouvrir une fenêtre avec la liste des images dedans)

Re,

Alors a quoi servent les liste déroulante?

Re,

Les listes déroulante servent à proposer plusieurs choix pour éviter les erreurs de saisie par exemple, ce que tu veux faire peut fonctionner si on comprend bien ce que tu veux

Re,

Alors avec la liste deroulante1 je choisis mon continent "Afrique, Amérique ect..." et avec la liste deroulante2 je choisis le pays qui correspond au continent et sa doit ouvrir le dossier en question dans le répertoire choisis par la liste deroulante2 si je choisis Europe et dans l'autre France je doit avoir mon dossier ouvert a la France!

@+

Re,

Code plus simple encore :

Sub OuvrirFichier()
    Dim Dossier As String
    On Error GoTo PasDeDossier
    Dossier = "J:\Dossier_Monnaies\continent\" & ActiveSheet.Range("B1") & "\" & ActiveSheet.Range("B2")
    ThisWorkbook.FollowHyperlink Dossier
    Exit Sub
PasDeDossier:
    MsgBox ("Le dossier n'existe pas !")
End Sub

Re,

Oui voilà exactement cela, juste une chose sa fonctionne très bien mais je ne comprend pas pourquoi une fenêtre de sécurité s'ouvre a chaque fois?

Je te remercie beaucoup et te souhaite une bonne soirée

Max

Rechercher des sujets similaires à "ouvrir fichier liste deroulantes"