Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Forcer un repertoire avec GetOpenFilename

7 réponses
Avatar
Jed
Bonjour à tous,
J'ai crée un fichier excel qui par macro fusionne d'autres fichiers excel.
J'aimerai ouvrir la boite de dialogue 'Ouvrir fichier' et être positionner
sur le repertoire/s-rep courant.. est ce possible?
J'ai mis ce bout de code :
Application.GetOenFileName(filefilter:="Classeurs Excel,*.xls",
Tiele:="Choissisez les classeurs a fusionner",MultiSelect:=True)
Ca fonctionne bien mais ouvre la boite de dialogue sur "Mes Documents" et
non pas la où se trouve le fichier excel.

Ex: si je mets mon fichier excel dans D:\Avril , j'aimerai qu'il ouvre dans
D:\Avril.
Merci de votre aide ou conseils.

Cdlt
Jed

7 réponses

Avatar
isabelle
bonjour Jed,

ChDir "D:Avril"
Application.GetOenFileName(filefilter:="Classeurs Excel,*.xls",
Tiele:="Choissisez les classeurs a fusionner",MultiSelect:=True)

isabelle


Bonjour à tous,
J'ai crée un fichier excel qui par macro fusionne d'autres fichiers excel.
J'aimerai ouvrir la boite de dialogue 'Ouvrir fichier' et être positionner
sur le repertoire/s-rep courant.. est ce possible?
J'ai mis ce bout de code :
Application.GetOenFileName(filefilter:="Classeurs Excel,*.xls",
Tiele:="Choissisez les classeurs a fusionner",MultiSelect:=True)
Ca fonctionne bien mais ouvre la boite de dialogue sur "Mes Documents" et
non pas la où se trouve le fichier excel.

Ex: si je mets mon fichier excel dans D:Avril , j'aimerai qu'il ouvre dans
D:Avril.
Merci de votre aide ou conseils.

Cdlt
Jed



Avatar
michdenis
Dim Filename as Variant
Dim x As Integer
Dim S()

Filename = Application.GetOpenFilename(FileFilter:=LesFiltres, _
FilterIndex:=FilterIndex, Title:=Title, MultiSelect:=True)

Select Case TypeName(Filename)
Case Is = "Boolean"
'annuler la boîte de dialogue
Exit Sub
Case Is = "String"
'un fichier seulement de sélectionner
ReDim S(1 To 1)
S(1) = Filename
Case Else
ReDim S(1 To UBound(Filename))
S = BubbleSort(Filename)
End Select

For x = LBound(S) To UBound(S)
MsgBox S(x)
Next





"isabelle" a écrit dans le message de news:
bonjour Jed,

ChDir "D:Avril"
Application.GetOenFileName(filefilter:="Classeurs Excel,*.xls",
Tiele:="Choissisez les classeurs a fusionner",MultiSelect:=True)

isabelle


Bonjour à tous,
J'ai crée un fichier excel qui par macro fusionne d'autres fichiers excel.
J'aimerai ouvrir la boite de dialogue 'Ouvrir fichier' et être positionner
sur le repertoire/s-rep courant.. est ce possible?
J'ai mis ce bout de code :
Application.GetOenFileName(filefilter:="Classeurs Excel,*.xls",
Tiele:="Choissisez les classeurs a fusionner",MultiSelect:=True)
Ca fonctionne bien mais ouvre la boite de dialogue sur "Mes Documents" et
non pas la où se trouve le fichier excel.

Ex: si je mets mon fichier excel dans D:Avril , j'aimerai qu'il ouvre dans
D:Avril.
Merci de votre aide ou conseils.

Cdlt
Jed



Avatar
michdenis
Correction à la ligne "FileName"....

Dim Filename as Variant
Dim x As Integer
Dim S()

Filename = Application.GetOenFileName(filefilter:="Classeurs Excel,*.xls", _
Tiele:="Choissisez les classeurs a fusionner", MultiSelect:=True)

Select Case TypeName(Filename)
Case Is = "Boolean"
'annuler la boîte de dialogue
Exit Sub
Case Is = "String"
'un fichier seulement de sélectionner
ReDim S(1 To 1)
S(1) = Filename
Case Else
ReDim S(1 To UBound(Filename))
S = BubbleSort(Filename)
End Select

For x = LBound(S) To UBound(S)
MsgBox S(x)
Next
Avatar
Jed
Merci isabelle d'avoir répondu si vite mais dans mon cas cela ne convient pas.
ChDir "D:Avril"
cela veut dire que je connais d'avance le chemin mais justement la je ne le

connais pas. Ce sont des suivis mensuels sur plusieurs sites. Les uns le
mettent dans D:Avril2006 et d'autres E:SuiviChefAvril2006 ...
Donc j'aimerai qu'il ouvre la boite de dialogue du repertoire et sous
repertoire courant.
Meme le "CurDir" me donne le repertoire par defaut fourni dans Excel (
Outils/Options/ General) et cela ne convient pas non plus.

Merci quand meme
Cdlt
Jed



bonjour Jed,

ChDir "D:Avril"
Application.GetOenFileName(filefilter:="Classeurs Excel,*.xls",
Tiele:="Choissisez les classeurs a fusionner",MultiSelect:=True)

isabelle


Bonjour à tous,
J'ai crée un fichier excel qui par macro fusionne d'autres fichiers excel.
J'aimerai ouvrir la boite de dialogue 'Ouvrir fichier' et être positionner
sur le repertoire/s-rep courant.. est ce possible?
J'ai mis ce bout de code :
Application.GetOenFileName(filefilter:="Classeurs Excel,*.xls",
Tiele:="Choissisez les classeurs a fusionner",MultiSelect:=True)
Ca fonctionne bien mais ouvre la boite de dialogue sur "Mes Documents" et
non pas la où se trouve le fichier excel.

Ex: si je mets mon fichier excel dans D:Avril , j'aimerai qu'il ouvre dans
D:Avril.
Merci de votre aide ou conseils.

Cdlt
Jed






Avatar
Jed
Bonjour MchDenis,
Merci d'avoir repondu à mon prob.
Mais mon prob est d'ouvrir la boite de dialogue GetOpenFileName dans le
repertoire courant et non pas de recuperer les fichiers.
Je me suis mal exprimé.
Si mon fichier est dans D:SuiviMensuel j'aimerai que mon getopenf....ouvre
la boite de dialogue dans le meme chemin pour pouvoir choisir mes fichiers a
fusionner et non pas dans c:Mes documents et après l'utilisateur doit aller
chercher le bon repertoire.

Merci quand meme.
Cdlt
Jed

Correction à la ligne "FileName"....

Dim Filename as Variant
Dim x As Integer
Dim S()

Filename = Application.GetOenFileName(filefilter:="Classeurs Excel,*.xls", _
Tiele:="Choissisez les classeurs a fusionner", MultiSelect:=True)

Select Case TypeName(Filename)
Case Is = "Boolean"
'annuler la boîte de dialogue
Exit Sub
Case Is = "String"
'un fichier seulement de sélectionner
ReDim S(1 To 1)
S(1) = Filename
Case Else
ReDim S(1 To UBound(Filename))
S = BubbleSort(Filename)
End Select

For x = LBound(S) To UBound(S)
MsgBox S(x)
Next






Avatar
michdenis
la fonction split requiert excel 2000 ou plus récent

CurDir Split(Application.DefaultFilePath, "")(0)
ChDir Application.DefaultFilePath
a = Application.GetOpenFilename(filefilter:="Text Files (*.txt), *.txt", _
Title:="Choissisez les classeurs à fusionner", MultiSelect:=True)




"Jed" a écrit dans le message de news:

Bonjour MchDenis,
Merci d'avoir repondu à mon prob.
Mais mon prob est d'ouvrir la boite de dialogue GetOpenFileName dans le
repertoire courant et non pas de recuperer les fichiers.
Je me suis mal exprimé.
Si mon fichier est dans D:SuiviMensuel j'aimerai que mon getopenf....ouvre
la boite de dialogue dans le meme chemin pour pouvoir choisir mes fichiers a
fusionner et non pas dans c:Mes documents et après l'utilisateur doit aller
chercher le bon repertoire.

Merci quand meme.
Cdlt
Jed

Correction à la ligne "FileName"....

Dim Filename as Variant
Dim x As Integer
Dim S()

Filename = Application.GetOenFileName(filefilter:="Classeurs Excel,*.xls", _
Tiele:="Choissisez les classeurs a fusionner", MultiSelect:=True)

Select Case TypeName(Filename)
Case Is = "Boolean"
'annuler la boîte de dialogue
Exit Sub
Case Is = "String"
'un fichier seulement de sélectionner
ReDim S(1 To 1)
S(1) = Filename
Case Else
ReDim S(1 To UBound(Filename))
S = BubbleSort(Filename)
End Select

For x = LBound(S) To UBound(S)
MsgBox S(x)
Next






Avatar
Jed
Merci pour ces infos.. Je testerai demain et je te tiens au courant.
Merci encore.


la fonction split requiert excel 2000 ou plus récent

CurDir Split(Application.DefaultFilePath, "")(0)
ChDir Application.DefaultFilePath
a = Application.GetOpenFilename(filefilter:="Text Files (*.txt), *.txt", _
Title:="Choissisez les classeurs à fusionner", MultiSelect:=True)




"Jed" a écrit dans le message de news:

Bonjour MchDenis,
Merci d'avoir repondu à mon prob.
Mais mon prob est d'ouvrir la boite de dialogue GetOpenFileName dans le
repertoire courant et non pas de recuperer les fichiers.
Je me suis mal exprimé.
Si mon fichier est dans D:SuiviMensuel j'aimerai que mon getopenf....ouvre
la boite de dialogue dans le meme chemin pour pouvoir choisir mes fichiers a
fusionner et non pas dans c:Mes documents et après l'utilisateur doit aller
chercher le bon repertoire.

Merci quand meme.
Cdlt
Jed

Correction à la ligne "FileName"....

Dim Filename as Variant
Dim x As Integer
Dim S()

Filename = Application.GetOenFileName(filefilter:="Classeurs Excel,*.xls", _
Tiele:="Choissisez les classeurs a fusionner", MultiSelect:=True)

Select Case TypeName(Filename)
Case Is = "Boolean"
'annuler la boîte de dialogue
Exit Sub
Case Is = "String"
'un fichier seulement de sélectionner
ReDim S(1 To 1)
S(1) = Filename
Case Else
ReDim S(1 To UBound(Filename))
S = BubbleSort(Filename)
End Select

For x = LBound(S) To UBound(S)
MsgBox S(x)
Next