ouverture automatique classeur

binoute

XLDnaute Occasionnel
Bonjour le forum,
dans l'exemple joint, je souhaite pouvoir ouvrir un classeur directement à partir d'une combo box.
Dans la colonne N, je rempli des titre generiques representant des familles de produits.
Dans la colonne K, je rempli le nom des classeurs à ouvrir.
La premiere recherche permet de choisir la famille, la deuxieme recherche, apres appui sur valider (je n'ai pas réussi à créer en automatique la liste des classeurs), permettrai l'ouverture du classeur concerné en automatique.
Un petit coup de main serait apprécié.
Merci d'avance
 

Pièces jointes

  • Recherche essai.xls
    43 KB · Affichages: 48
  • Recherche essai.xls
    43 KB · Affichages: 49

Épaf

XLDnaute Occasionnel
Re : ouverture automatique classeur

Code:
Private Sub UserForm_Initialize()
Dim Chemin As String, NomFich As String
    Chemin = "D:\xls\"
    NomFich = Dir(Chemin)
    'Chargement de la listbox
    While NomFich <> ""
         Me.ListBox1.AddItem NomFich
        NomFich = Dir
    Wend
End Sub
 

binoute

XLDnaute Occasionnel
Re : ouverture automatique classeur

Bonjour épaf,
Je suppose que je remplace Chemin = "D:\xls\" par mon arborescence type Chemin = "C:xxxx\yyyyy\xls\" A me confirmer si la syntaxe est bonne ?
Ne faut il pas ajouter une commande d'ouverture ? parce que là, si j'integre ton code dans le mien (sous userform1), ca donne ca :
Private Sub valid_click()
Dim T
With Sheets(NomF)
T = Range(.[B17], .[B100]).Value
End With
T = RecupDoublons(T, 1) 'mettre true pour n'avoir que les nombres
If IsArray(T) Then
liste.List = T
Else
MsgBox T
End If
Dim Chemin As String, NomFich As String
Chemin = "C:xxx\yyy\zzzz\xls\"
NomFich = Dir(Chemin)
'Chargement de la listbox
While NomFich <> ""
Me.liste.AddItem NomFich
NomFich = Dir
Wend
End Sub
Et ça, ça ne provoque rien !
J'ai tout faux ou il y a un oubli ?
Merci pour ta réponse
 

Épaf

XLDnaute Occasionnel
Re : ouverture automatique classeur

Mon code met bien les noms des fichier du répertoire dans la listbox1 ?
Pour ouvrir le fichier voulu, tu mets le code d'ouverture dans l'événement _click ou _change du listbox.
Pour ouvrir ton fichier, je vais au plus simple :
Code:
Sub listbox1_Change() 'ou click()
    Chemin = "C:\TonRep\TonSouRep\"
    NomFich = Me.listbox1.List(Listbox1.listindex)
    if NomFich <> "" then Workbooks.open Chemin & NomFich
End sub
'NomFich = Me.listbox1 'devrait suffire mais je ne connais pas la structure de ta liste, le nombre de colonnes, si tu as un ligne d'en-tête... etc.
Comme tu le supposes, Chemin désigne l'arborescence du répertoire. N'oublie pas \ à la fin du chemin.
Là je m'absente. "D'autres" pourront t'aider si tu as un pb. Mais place les balises Code pour ton code, mis ainsi, c'est illisible -> Sélection du code + 1 clic sur # en mode d'édition et c'est tout ;)
 

binoute

XLDnaute Occasionnel
Re : ouverture automatique classeur

Re épaf,
Avec ce nouveau code pas de probleme, cela fonctionne bien.
Mais pour ce qui est de placer des balises code, j'ai pas tout compris !
En tout cas merci pour ton coup de main et à une prochaine.
Binoute
 

binoute

XLDnaute Occasionnel
Re : ouverture automatique classeur

Bonjour,
un petit complémentd'information sur ce fil :
Est il possible, lorsque l'on est en réseau d'indiquer un chemin du style
\\192.168.0.3\xxx\yyy pour ouvrir à distance les fichiers à partir d'un autre poste du reseau ? (en supposant que les fichiers soient stockés sur 192.168.0.3)
dans l'attente de vos conseils
@+
 

jeanpierre

Nous a quitté
Repose en paix
Re : ouverture automatique classeur

Bonsoir le fil,

Pour peu que le dossier en question, sur l'autre PC, soit en mode partagé, de mémoire, il n'y a même pas besoin de préciser l'adresse, un simple pointage doit faire l'affaire. (un lien, un racourci........ cétéra et cétéra)

Tout peut dépendre, aussi, du type de réseau....

Peux-tu préciser STP.

Bonne soirée.

Jean-Pierre
 

binoute

XLDnaute Occasionnel
Re : ouverture automatique classeur

Bonjour Jean-pierre,
il s'agit d'un reseau tcpip standard. Le dossier est bien partagé, si je fais le pointage et copier / coller, cela ne fonctionne pas.
j'ai essayé sans l'adresse Ip mais le resultat est le meme !
j'ai bien du mal à comprendre
la structure de mon code est celle là :
Dim Chemin As String, NomFich As String
Chemin = "\\192.168.0.3\xxxx\yyyy"
NomFich = Me.liste.List(liste.ListIndex)
If NomFich <> "" Then Workbooks.Open Chemin & NomFich

Est ce un probleme de code ?
@+
 

binoute

XLDnaute Occasionnel
Re : ouverture automatique classeur

Bonjour le forum,
je me permet de relancer ce post car à ce jour, je n'ai toujours pas réussi
à ouvrir un fichier à distance sur mon réseau.
A toutes les bonnes volontés qui se pencheront sur mon probleme,
merci d'avance
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 864
Messages
2 093 003
Membres
105 597
dernier inscrit
romain10