OVH Cloud OVH Cloud

macro ouvrir un fichier

4 réponses
Avatar
Greffier
Bonsoir,

J'ai essayé la macro de michdenis du 23 août 2003 :
'----------------------------
Sub OuvrirFichier()
Dim Chemin As String, Fichier As String, A As String
Chemin = "C:\revenue\2003\août\"
Do
Fichier = Application.InputBox("Entrer code du fichier à ouvrir." & _
vbCrLf & vbCrLf & "Exemple : 0818 pour le le 18 août 2003", _
"Fichier à ouvrir", Fichier)
If Fichier = "Faux" Then Exit Sub
A = Dir(Chemin & Fichier & ".xls")
If A = "" Then
MsgBox "Il y a eu erreur dans la saisie. Recommencer." _
, vbCritical + vbOKOnly, "Fichier inexistant"
End If
Loop Until A <> ""
Workbooks.Open Chemin & Fichier & ".xls"
End Sub
'----------------------------

qui marche et me convient, mais qui laisse dans le répertoire un fichier :
de nom alphanumérique à chaque emploi de la macro, et lorsque on revient
dans cette macro passe par une erreur, et ne permet pas à Excel de se fermer
correctement.

Qui peut me donner une réponse et un remède.

Merci.

Greffier.

4 réponses

Avatar
michdenis
Bonjour Greffier,

Peux-tu donner un peu plus d'explication sur la façon dont tu utilises cette macro.

Est-ce que ton fichier s'ouvre normalement ?

Quel est le rapport entre cette macro qui ouvre un fichier et la fermeture d'excel ?


Salutations!



"Greffier" a écrit dans le message de news:
Bonsoir,

J'ai essayé la macro de michdenis du 23 août 2003 :
'----------------------------
Sub OuvrirFichier()
Dim Chemin As String, Fichier As String, A As String
Chemin = "C:revenue2003août"
Do
Fichier = Application.InputBox("Entrer code du fichier à ouvrir." & _
vbCrLf & vbCrLf & "Exemple : 0818 pour le le 18 août 2003", _
"Fichier à ouvrir", Fichier)
If Fichier = "Faux" Then Exit Sub
A = Dir(Chemin & Fichier & ".xls")
If A = "" Then
MsgBox "Il y a eu erreur dans la saisie. Recommencer." _
, vbCritical + vbOKOnly, "Fichier inexistant"
End If
Loop Until A <> ""
Workbooks.Open Chemin & Fichier & ".xls"
End Sub
'----------------------------

qui marche et me convient, mais qui laisse dans le répertoire un fichier :
de nom alphanumérique à chaque emploi de la macro, et lorsque on revient
dans cette macro passe par une erreur, et ne permet pas à Excel de se fermer
correctement.

Qui peut me donner une réponse et un remède.

Merci.

Greffier.
Avatar
Greffier
Bonjour mich,

Voilà comment j'ai opéré.
Je suis en Excel 97.
J'ai ouvert le fichier AAA dans le catalogue E:courrierzzz, et j'ai
activé mes macros.
J'ai demandé outil/nouvelle macro, puis j'ai arrêter l'enregistrement.
J'ai remplacé la macro bidon par le contenu de FichierOuvrir.
J'ai lancé à partir de AAA outils macro FichierOuvrir, l'ouverture d'un
fichier DDD existant.
Aussitôt le message "Il y a eu erreur dans la saisie. Recommencer." "Fichier
inexistant" apparaît.
Je fais OK. Il redemande un fichier, et la même erreur recommence.

Tous les fichiers que j'ai demandé existent.

A la fermeture, Excel ne veut pas se fermer il lance quelquefois l'erreur
"erreur système &H8000FFFF (-2147418113)"

D'où la question pourquoi ne puis-je pas ouvrir le fichier que je demande.

Est-ce qu'il ne vaudrait pas mieux d'afficher les fichiers *.xls
successivement ou en liste de façon à choisir, le ou les fichiers qui nous
intéressent.

J'avoue que je vais chercher avec vous si on peut améliorer votre solution.
Est-ce le fait que le fichier demandé n'est pas le premier dans la liste, ni
d'ailleurs même le premier dans la liste ne marche pas.

Merci, pour vos suggestions.







"michdenis" a écrit dans le message de
news:
Bonjour Greffier,

Peux-tu donner un peu plus d'explication sur la façon dont tu utilises
cette macro.


Est-ce que ton fichier s'ouvre normalement ?

Quel est le rapport entre cette macro qui ouvre un fichier et la fermeture
d'excel ?



Salutations!



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


Bonsoir,

J'ai essayé la macro de michdenis du 23 août 2003 :
'----------------------------
Sub OuvrirFichier()
Dim Chemin As String, Fichier As String, A As String
Chemin = "C:revenue2003août"
Do
Fichier = Application.InputBox("Entrer code du fichier à ouvrir." & _
vbCrLf & vbCrLf & "Exemple : 0818 pour le le 18 août 2003", _
"Fichier à ouvrir", Fichier)
If Fichier = "Faux" Then Exit Sub
A = Dir(Chemin & Fichier & ".xls")
If A = "" Then
MsgBox "Il y a eu erreur dans la saisie. Recommencer." _
, vbCritical + vbOKOnly, "Fichier inexistant"
End If
Loop Until A <> ""
Workbooks.Open Chemin & Fichier & ".xls"
End Sub
'----------------------------

qui marche et me convient, mais qui laisse dans le répertoire un fichier :
de nom alphanumérique à chaque emploi de la macro, et lorsque on revient
dans cette macro passe par une erreur, et ne permet pas à Excel de se
fermer

correctement.

Qui peut me donner une réponse et un remède.

Merci.

Greffier.







Avatar
PMO
Bonjour,

Je m'immisce dans votre conversation pour proposer
une autre méthode (dans la mesure où j'ai bien compris
le problème).
J'utilise la méthode GetOpenFilename qui fonctionne avec Excel 97.

'************
Sub PMO_OuvrirFichier()
Dim var
ChDir "c:" 'adapter le dossier par défaut
''ChDir "E:courrierzzz"
var = Application.GetOpenFilename("Fichiers xls, *.xls")
If var = False Then Exit Sub
Workbooks.Open var
End Sub
'************

Cordialement.

--
PMO
Patrick Morange



Bonsoir,

J'ai essayé la macro de michdenis du 23 août 2003 :
'----------------------------
Sub OuvrirFichier()
Dim Chemin As String, Fichier As String, A As String
Chemin = "C:revenue2003août"
Do
Fichier = Application.InputBox("Entrer code du fichier à ouvrir." & _
vbCrLf & vbCrLf & "Exemple : 0818 pour le le 18 août 2003", _
"Fichier à ouvrir", Fichier)
If Fichier = "Faux" Then Exit Sub
A = Dir(Chemin & Fichier & ".xls")
If A = "" Then
MsgBox "Il y a eu erreur dans la saisie. Recommencer." _
, vbCritical + vbOKOnly, "Fichier inexistant"
End If
Loop Until A <> ""
Workbooks.Open Chemin & Fichier & ".xls"
End Sub
'----------------------------

qui marche et me convient, mais qui laisse dans le répertoire un fichier :
de nom alphanumérique à chaque emploi de la macro, et lorsque on revient
dans cette macro passe par une erreur, et ne permet pas à Excel de se fermer
correctement.

Qui peut me donner une réponse et un remède.

Merci.

Greffier.







Avatar
michdenis
Bonjour Greffier,

Essaie ceci :

Lorsque l'on demande à un usager d'intervenir dans le processus d'une macro,
Il faut essayer de prévoir les réponses de ce dernier et d'ajuster la procédure
en conséquence.

'----------------------------------------
Sub OuvrirFichier()
Dim Chemin As String, Fichier As String, A As String
Chemin = "C:Atravail"
Do
Fichier = Application.InputBox("Entrer code du fichier à ouvrir." & _
vbCrLf & vbCrLf & "Exemple : 0818 pour le le 18 août 2003", _
"Fichier à ouvrir", Fichier)
If Fichier = "Faux" Then Exit Sub

'S'assure que l'usager a réellement saisi un point et non
'une virgule si il a ajouté l'extension lui-même
Fichier = WorksheetFunction.Substitute(Fichier, ",", ".")
'Vérification de la présence de l'extension du fichier
If UCase(Right(Fichier, 4)) <> ".XLS" Then
Fichier = Fichier & ".xls"
End If
'Vérification de l'existence du chemin et fichier choisi
A = Dir(Chemin & Fichier)
If A = "" Then
MsgBox "Il y a eu erreur dans la saisie. Recommencer." _
, vbCritical + vbOKOnly, "Fichier inexistant"
End If
'Si A n'indique pas un chemin et fichier valide, la boucle
'reprend au tout début du cycle.
Loop Until A <> ""
'ouverture du fichier désiré par l'usager.
Workbooks.Open Chemin & Fichier
End Sub
'----------------------------------------


Salutations!




"Greffier" a écrit dans le message de news: %
Bonjour mich,

Voilà comment j'ai opéré.
Je suis en Excel 97.
J'ai ouvert le fichier AAA dans le catalogue E:courrierzzz, et j'ai
activé mes macros.
J'ai demandé outil/nouvelle macro, puis j'ai arrêter l'enregistrement.
J'ai remplacé la macro bidon par le contenu de FichierOuvrir.
J'ai lancé à partir de AAA outils macro FichierOuvrir, l'ouverture d'un
fichier DDD existant.
Aussitôt le message "Il y a eu erreur dans la saisie. Recommencer." "Fichier
inexistant" apparaît.
Je fais OK. Il redemande un fichier, et la même erreur recommence.

Tous les fichiers que j'ai demandé existent.

A la fermeture, Excel ne veut pas se fermer il lance quelquefois l'erreur
"erreur système &H8000FFFF (-2147418113)"

D'où la question pourquoi ne puis-je pas ouvrir le fichier que je demande.

Est-ce qu'il ne vaudrait pas mieux d'afficher les fichiers *.xls
successivement ou en liste de façon à choisir, le ou les fichiers qui nous
intéressent.

J'avoue que je vais chercher avec vous si on peut améliorer votre solution.
Est-ce le fait que le fichier demandé n'est pas le premier dans la liste, ni
d'ailleurs même le premier dans la liste ne marche pas.

Merci, pour vos suggestions.







"michdenis" a écrit dans le message de
news:
Bonjour Greffier,

Peux-tu donner un peu plus d'explication sur la façon dont tu utilises
cette macro.


Est-ce que ton fichier s'ouvre normalement ?

Quel est le rapport entre cette macro qui ouvre un fichier et la fermeture
d'excel ?



Salutations!



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


Bonsoir,

J'ai essayé la macro de michdenis du 23 août 2003 :
'----------------------------
Sub OuvrirFichier()
Dim Chemin As String, Fichier As String, A As String
Chemin = "C:revenue2003août"
Do
Fichier = Application.InputBox("Entrer code du fichier à ouvrir." & _
vbCrLf & vbCrLf & "Exemple : 0818 pour le le 18 août 2003", _
"Fichier à ouvrir", Fichier)
If Fichier = "Faux" Then Exit Sub
A = Dir(Chemin & Fichier & ".xls")
If A = "" Then
MsgBox "Il y a eu erreur dans la saisie. Recommencer." _
, vbCritical + vbOKOnly, "Fichier inexistant"
End If
Loop Until A <> ""
Workbooks.Open Chemin & Fichier & ".xls"
End Sub
'----------------------------

qui marche et me convient, mais qui laisse dans le répertoire un fichier :
de nom alphanumérique à chaque emploi de la macro, et lorsque on revient
dans cette macro passe par une erreur, et ne permet pas à Excel de se
fermer

correctement.

Qui peut me donner une réponse et un remède.

Merci.

Greffier.