bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le 1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le 1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le 1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
Bonjour.
J'obtient le même résultat.
Pour forcer l'ouverture du bon fichier, le renommer.
If Right$(FileToOpen, 1&) = "." Then
Name FileToOpen As FileToOpen & "$$$"
FileToOpen = FileToOpen & "$$$"
End If
Workbooks.OpenText Filename:=FileToOpen, Origin:=xlWindows, Tab:=True, Other:=True, OtherChar:="!"
Alain CROS
"anomymousA" a écrit dans le message de news:bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le 1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
Bonjour.
J'obtient le même résultat.
Pour forcer l'ouverture du bon fichier, le renommer.
If Right$(FileToOpen, 1&) = "." Then
Name FileToOpen As FileToOpen & "$$$"
FileToOpen = FileToOpen & "$$$"
End If
Workbooks.OpenText Filename:=FileToOpen, Origin:=xlWindows, Tab:=True, Other:=True, OtherChar:="!"
Alain CROS
"anomymousA" <anomymousA@discussions.microsoft.com> a écrit dans le message de news:
C41B8B55-FFAB-4140-BDBB-A24591AACE17@microsoft.com...
bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le 1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
Bonjour.
J'obtient le même résultat.
Pour forcer l'ouverture du bon fichier, le renommer.
If Right$(FileToOpen, 1&) = "." Then
Name FileToOpen As FileToOpen & "$$$"
FileToOpen = FileToOpen & "$$$"
End If
Workbooks.OpenText Filename:=FileToOpen, Origin:=xlWindows, Tab:=True, Other:=True, OtherChar:="!"
Alain CROS
"anomymousA" a écrit dans le message de news:bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le 1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
Bonjour.
J'obtient le même résultat.
Pour forcer l'ouverture du bon fichier, le renommer.
If Right$(FileToOpen, 1&) = "." Then
Name FileToOpen As FileToOpen & "$$$"
FileToOpen = FileToOpen & "$$$"
End If
Workbooks.OpenText Filename:=FileToOpen, Origin:=xlWindows, Tab:=True, Other:=True, OtherChar:="!"
Alain CROS
"anomymousA" a écrit dans le message de news:bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le 1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
Bonjour.
J'obtient le même résultat.
Pour forcer l'ouverture du bon fichier, le renommer.
If Right$(FileToOpen, 1&) = "." Then
Name FileToOpen As FileToOpen & "$$$"
FileToOpen = FileToOpen & "$$$"
End If
Workbooks.OpenText Filename:=FileToOpen, Origin:=xlWindows, Tab:=True, Other:=True, OtherChar:="!"
Alain CROS
"anomymousA" <anomymousA@discussions.microsoft.com> a écrit dans le message de news:
C41B8B55-FFAB-4140-BDBB-A24591AACE17@microsoft.com...
bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le 1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
Bonjour.
J'obtient le même résultat.
Pour forcer l'ouverture du bon fichier, le renommer.
If Right$(FileToOpen, 1&) = "." Then
Name FileToOpen As FileToOpen & "$$$"
FileToOpen = FileToOpen & "$$$"
End If
Workbooks.OpenText Filename:=FileToOpen, Origin:=xlWindows, Tab:=True, Other:=True, OtherChar:="!"
Alain CROS
"anomymousA" a écrit dans le message de news:bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le 1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
Bonsoir,
Moi qui suit avant tout un utilisateur Mac, je n'ai pas tendance à faire
appel au "Scripting.FileSystemObject".
J'ai fait l'expérience suivante :
J'ai créé successivement 2 documents Excel, que j'ai enregistrés
immédiatement sous le même nom, le premier au format texte, le second en
tant que classeur normal.
J'ai ensuite lancé cette macro :
Sub Test()
Dim DocChoisi
DocChoisi = Application.GetOpenFilename
If DocChoisi <> False Then
Workbooks.Open DocChoisi
End If
End Sub
J'ai choisi le fichier texte, qui a été ouvert, et non son homonyme.
puis celle-ci :
Sub Test2()
Dim DocChoisi
DocChoisi = Application.GetOpenFilename
If DocChoisi <> False Then
If Right(DocChoisi, 3) = "xls" Then
MsgBox "Le fichier à ouvert doit être un fichier
texte et non un fichier Excel !" & vbNewLine & vbNewLine & "Recommencez."
Else
Workbooks.Open DocChoisi
End If
End If
End Sub
Cette fois j'ai choisi le fichier enregistré comme classeur ; le message
s'est déclenché, et le traitement s'est arrêté.
Peut-être une piste à exploiter pour anomymousA : utiliser Right pour
détecter l'extension du fichier, et se passer complètement du
"Scripting.FileSystemObject".Bonjour.
J'obtient le même résultat.
Pour forcer l'ouverture du bon fichier, le renommer.
If Right$(FileToOpen, 1&) = "." Then
Name FileToOpen As FileToOpen & "$$$"
FileToOpen = FileToOpen & "$$$"
End If
Workbooks.OpenText Filename:=FileToOpen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Alain CROS
"anomymousA" a écrit dans le
message de news:bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un
fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent
le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le
1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier
qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez
constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans
extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que
cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas
document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre
fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension
aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen
de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
Bonsoir,
Moi qui suit avant tout un utilisateur Mac, je n'ai pas tendance à faire
appel au "Scripting.FileSystemObject".
J'ai fait l'expérience suivante :
J'ai créé successivement 2 documents Excel, que j'ai enregistrés
immédiatement sous le même nom, le premier au format texte, le second en
tant que classeur normal.
J'ai ensuite lancé cette macro :
Sub Test()
Dim DocChoisi
DocChoisi = Application.GetOpenFilename
If DocChoisi <> False Then
Workbooks.Open DocChoisi
End If
End Sub
J'ai choisi le fichier texte, qui a été ouvert, et non son homonyme.
puis celle-ci :
Sub Test2()
Dim DocChoisi
DocChoisi = Application.GetOpenFilename
If DocChoisi <> False Then
If Right(DocChoisi, 3) = "xls" Then
MsgBox "Le fichier à ouvert doit être un fichier
texte et non un fichier Excel !" & vbNewLine & vbNewLine & "Recommencez."
Else
Workbooks.Open DocChoisi
End If
End If
End Sub
Cette fois j'ai choisi le fichier enregistré comme classeur ; le message
s'est déclenché, et le traitement s'est arrêté.
Peut-être une piste à exploiter pour anomymousA : utiliser Right pour
détecter l'extension du fichier, et se passer complètement du
"Scripting.FileSystemObject".
Bonjour.
J'obtient le même résultat.
Pour forcer l'ouverture du bon fichier, le renommer.
If Right$(FileToOpen, 1&) = "." Then
Name FileToOpen As FileToOpen & "$$$"
FileToOpen = FileToOpen & "$$$"
End If
Workbooks.OpenText Filename:=FileToOpen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Alain CROS
"anomymousA" <anomymousA@discussions.microsoft.com> a écrit dans le
message de news:
C41B8B55-FFAB-4140-BDBB-A24591AACE17@microsoft.com...
bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un
fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent
le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le
1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier
qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez
constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans
extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que
cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas
document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre
fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension
aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen
de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
Bonsoir,
Moi qui suit avant tout un utilisateur Mac, je n'ai pas tendance à faire
appel au "Scripting.FileSystemObject".
J'ai fait l'expérience suivante :
J'ai créé successivement 2 documents Excel, que j'ai enregistrés
immédiatement sous le même nom, le premier au format texte, le second en
tant que classeur normal.
J'ai ensuite lancé cette macro :
Sub Test()
Dim DocChoisi
DocChoisi = Application.GetOpenFilename
If DocChoisi <> False Then
Workbooks.Open DocChoisi
End If
End Sub
J'ai choisi le fichier texte, qui a été ouvert, et non son homonyme.
puis celle-ci :
Sub Test2()
Dim DocChoisi
DocChoisi = Application.GetOpenFilename
If DocChoisi <> False Then
If Right(DocChoisi, 3) = "xls" Then
MsgBox "Le fichier à ouvert doit être un fichier
texte et non un fichier Excel !" & vbNewLine & vbNewLine & "Recommencez."
Else
Workbooks.Open DocChoisi
End If
End If
End Sub
Cette fois j'ai choisi le fichier enregistré comme classeur ; le message
s'est déclenché, et le traitement s'est arrêté.
Peut-être une piste à exploiter pour anomymousA : utiliser Right pour
détecter l'extension du fichier, et se passer complètement du
"Scripting.FileSystemObject".Bonjour.
J'obtient le même résultat.
Pour forcer l'ouverture du bon fichier, le renommer.
If Right$(FileToOpen, 1&) = "." Then
Name FileToOpen As FileToOpen & "$$$"
FileToOpen = FileToOpen & "$$$"
End If
Workbooks.OpenText Filename:=FileToOpen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Alain CROS
"anomymousA" a écrit dans le
message de news:bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un
fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent
le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le
1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier
qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez
constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans
extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que
cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas
document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre
fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension
aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen
de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
Bonjour.
J'obtient le même résultat.
Pour forcer l'ouverture du bon fichier, le renommer.
If Right$(FileToOpen, 1&) = "." Then
Name FileToOpen As FileToOpen & "$$$"
FileToOpen = FileToOpen & "$$$"
End If
Workbooks.OpenText Filename:=FileToOpen, Origin:=xlWindows, Tab:=True, Other:=True, OtherChar:="!"
Alain CROS
"anomymousA" a écrit dans le message de news:bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le 1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
Bonjour.
J'obtient le même résultat.
Pour forcer l'ouverture du bon fichier, le renommer.
If Right$(FileToOpen, 1&) = "." Then
Name FileToOpen As FileToOpen & "$$$"
FileToOpen = FileToOpen & "$$$"
End If
Workbooks.OpenText Filename:=FileToOpen, Origin:=xlWindows, Tab:=True, Other:=True, OtherChar:="!"
Alain CROS
"anomymousA" <anomymousA@discussions.microsoft.com> a écrit dans le message de news:
C41B8B55-FFAB-4140-BDBB-A24591AACE17@microsoft.com...
bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le 1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
Bonjour.
J'obtient le même résultat.
Pour forcer l'ouverture du bon fichier, le renommer.
If Right$(FileToOpen, 1&) = "." Then
Name FileToOpen As FileToOpen & "$$$"
FileToOpen = FileToOpen & "$$$"
End If
Workbooks.OpenText Filename:=FileToOpen, Origin:=xlWindows, Tab:=True, Other:=True, OtherChar:="!"
Alain CROS
"anomymousA" a écrit dans le message de news:bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le 1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
Bonsoir,
Moi qui suit avant tout un utilisateur Mac, je n'ai pas tendance à faire
appel au "Scripting.FileSystemObject".
J'ai fait l'expérience suivante :
J'ai créé successivement 2 documents Excel, que j'ai enregistrés
immédiatement sous le même nom, le premier au format texte, le second en
tant que classeur normal.
J'ai ensuite lancé cette macro :
Sub Test()
Dim DocChoisi
DocChoisi = Application.GetOpenFilename
If DocChoisi <> False Then
Workbooks.Open DocChoisi
End If
End Sub
J'ai choisi le fichier texte, qui a été ouvert, et non son homonyme.
puis celle-ci :
Sub Test2()
Dim DocChoisi
DocChoisi = Application.GetOpenFilename
If DocChoisi <> False Then
If Right(DocChoisi, 3) = "xls" Then
MsgBox "Le fichier à ouvert doit être un fichier
texte et non un fichier Excel !" & vbNewLine & vbNewLine & "Recommencez."
Else
Workbooks.Open DocChoisi
End If
End If
End Sub
Cette fois j'ai choisi le fichier enregistré comme classeur ; le message
s'est déclenché, et le traitement s'est arrêté.
Peut-être une piste à exploiter pour anomymousA : utiliser Right pour
détecter l'extension du fichier, et se passer complètement du
"Scripting.FileSystemObject".Bonjour.
J'obtient le même résultat.
Pour forcer l'ouverture du bon fichier, le renommer.
If Right$(FileToOpen, 1&) = "." Then
Name FileToOpen As FileToOpen & "$$$"
FileToOpen = FileToOpen & "$$$"
End If
Workbooks.OpenText Filename:=FileToOpen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Alain CROS
"anomymousA" a écrit dans le
message de news:bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un
fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent
le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le
1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier
qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez
constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans
extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que
cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas
document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre
fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension
aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen
de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
Bonsoir,
Moi qui suit avant tout un utilisateur Mac, je n'ai pas tendance à faire
appel au "Scripting.FileSystemObject".
J'ai fait l'expérience suivante :
J'ai créé successivement 2 documents Excel, que j'ai enregistrés
immédiatement sous le même nom, le premier au format texte, le second en
tant que classeur normal.
J'ai ensuite lancé cette macro :
Sub Test()
Dim DocChoisi
DocChoisi = Application.GetOpenFilename
If DocChoisi <> False Then
Workbooks.Open DocChoisi
End If
End Sub
J'ai choisi le fichier texte, qui a été ouvert, et non son homonyme.
puis celle-ci :
Sub Test2()
Dim DocChoisi
DocChoisi = Application.GetOpenFilename
If DocChoisi <> False Then
If Right(DocChoisi, 3) = "xls" Then
MsgBox "Le fichier à ouvert doit être un fichier
texte et non un fichier Excel !" & vbNewLine & vbNewLine & "Recommencez."
Else
Workbooks.Open DocChoisi
End If
End If
End Sub
Cette fois j'ai choisi le fichier enregistré comme classeur ; le message
s'est déclenché, et le traitement s'est arrêté.
Peut-être une piste à exploiter pour anomymousA : utiliser Right pour
détecter l'extension du fichier, et se passer complètement du
"Scripting.FileSystemObject".
Bonjour.
J'obtient le même résultat.
Pour forcer l'ouverture du bon fichier, le renommer.
If Right$(FileToOpen, 1&) = "." Then
Name FileToOpen As FileToOpen & "$$$"
FileToOpen = FileToOpen & "$$$"
End If
Workbooks.OpenText Filename:=FileToOpen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Alain CROS
"anomymousA" <anomymousA@discussions.microsoft.com> a écrit dans le
message de news:
C41B8B55-FFAB-4140-BDBB-A24591AACE17@microsoft.com...
bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un
fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent
le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le
1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier
qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez
constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans
extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que
cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas
document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre
fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension
aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen
de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+
Bonsoir,
Moi qui suit avant tout un utilisateur Mac, je n'ai pas tendance à faire
appel au "Scripting.FileSystemObject".
J'ai fait l'expérience suivante :
J'ai créé successivement 2 documents Excel, que j'ai enregistrés
immédiatement sous le même nom, le premier au format texte, le second en
tant que classeur normal.
J'ai ensuite lancé cette macro :
Sub Test()
Dim DocChoisi
DocChoisi = Application.GetOpenFilename
If DocChoisi <> False Then
Workbooks.Open DocChoisi
End If
End Sub
J'ai choisi le fichier texte, qui a été ouvert, et non son homonyme.
puis celle-ci :
Sub Test2()
Dim DocChoisi
DocChoisi = Application.GetOpenFilename
If DocChoisi <> False Then
If Right(DocChoisi, 3) = "xls" Then
MsgBox "Le fichier à ouvert doit être un fichier
texte et non un fichier Excel !" & vbNewLine & vbNewLine & "Recommencez."
Else
Workbooks.Open DocChoisi
End If
End If
End Sub
Cette fois j'ai choisi le fichier enregistré comme classeur ; le message
s'est déclenché, et le traitement s'est arrêté.
Peut-être une piste à exploiter pour anomymousA : utiliser Right pour
détecter l'extension du fichier, et se passer complètement du
"Scripting.FileSystemObject".Bonjour.
J'obtient le même résultat.
Pour forcer l'ouverture du bon fichier, le renommer.
If Right$(FileToOpen, 1&) = "." Then
Name FileToOpen As FileToOpen & "$$$"
FileToOpen = FileToOpen & "$$$"
End If
Workbooks.OpenText Filename:=FileToOpen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Alain CROS
"anomymousA" a écrit dans le
message de news:bonjour,
Je rencontre une difficulté à faire comprendre à Excel d'ouvrir un
fichier
donné.
Je m'explique. Dans un répertoire donné, j'ai 2 fichiers qui portent
le même
nom mais l'un est sans extension et l'autre avec une extension.xls.Le
1er est
du format texte mais est importé d'une autre application (non OFFICE).
Par la procédure suivante, je fais choisr à l'utilisateur le fichier
qu'il
souhaite. La difficulté, c'est que quand il clique sur le fichier sans
extension, Excel s'obstine à ouvrir le fichier Excel par défaut.
Faites l'essai en créeant un fichier texte toto.txt et enlevez lui son
extension dans l'explorateur puis créez un fichier toto.xls dans le même
répertoire. Vous utilisez la procédure suivante et vous pourrez
constater
qu'Excel ouvre toujours toto.xls même si vous avez chois toto sans
extension,
ou alors c'est qu'il y a autre chose et c'est justement ce que
cherche.. Je
suis sous Excel 2000 avec win NT4.
Set fso = CreateObject("Scripting.FileSystemObject")
ctrl1 = False
While ctrl1 = False
Set filetopen = Nothing
filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
If (fso.GetFile(filetoopen).Type <> "File" And
fso.GetFile(filetoopen).Type <> "Document texte") Then
MsgBox "Vous avez choisi un fichier dont le type n'est pas
document
texte ou sans extension" & Chr(13) & "vous devez choisir un autre
fichier ou
Annuler"
Else
ctrl1 = True
End If
Else
Set fso = Nothing
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableCancelKey = xlInterrupt
End With
Exit Sub
End If
Wend
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows, Tab:=True,
Other:=True, OtherChar:="!"
Par ailleurs, si le fichier n'a pas d'extension ,Windows , lors de
l'affectation de filetoopen, lui colle un point à la fin.
Je pourrais bien sur demander aux utilisateurs de porter un extension
aux
fichiers qu'ils extraient de l'autre application, ce qui du coup résoud
evidemment le problème mais je souhaite comprendre s'il y a un moyen
de faire
en sorte qu'Excel m'ouvre le fichier que je souhaite et pas un autre.
J'espère avoir été clair.
A+