Ouvrir obligatoirement un fichier Excel avec xlDialogOpen

Le
Kikoolol
Bonjour et voici mon problème :

Je souhaite à partir d'un bouton d'une UserForm ouvrir un fichier excel afin
d'importer des données sur la feuille qui contient la macro.
J'utilise la commande xlDialogOpen mais le soucis vient du fait que je
trouve pas le moyen d'obliger l'utilisateur à n'ouvrir que des fichiers excel.
Existe t il un procédé, soit en imposant l'ouverture d'un *.xls, soit en
affichant un message d'erreur à l'utilisateur qui tente d'ouvrir un fichier
doc ou html par ce biais.

En espérant avoir été assez clair sur mon problème, merci de vos réponses!
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
RENAUD Eric
Le #4740741
Bonjour,
Tu peux essayer avec
monfichier = Application.GetOpenFilename("Fichiers Excel (*.xls), *.xls")
Workbooks.Open Filename:=monfichier
"Kikoolol" news:
Bonjour et voici mon problème :

Je souhaite à partir d'un bouton d'une UserForm ouvrir un fichier excel
afin
d'importer des données sur la feuille qui contient la macro.
J'utilise la commande xlDialogOpen mais le soucis vient du fait que je
trouve pas le moyen d'obliger l'utilisateur à n'ouvrir que des fichiers
excel.
Existe t il un procédé, soit en imposant l'ouverture d'un *.xls, soit en
affichant un message d'erreur à l'utilisateur qui tente d'ouvrir un
fichier
doc ou html par ce biais.

En espérant avoir été assez clair sur mon problème, merci de vos réponses!


Kikoolol
Le #4740641
J'ai deja testé cette methode est le problème vient du fait que si je
"m'amuse" à ouvrir un fichier ayant le meme nom que ma feuille (exemple
ouvrir un fichier "classeur 1" alors que mon fichier s'appelle deja "classeur
1"), la macro plante... d'ou l'utilisation du xlDialogOpen.

Merci quand meme pour ta réponse!



Bonjour,
Tu peux essayer avec
monfichier = Application.GetOpenFilename("Fichiers Excel (*.xls), *.xls")
Workbooks.Open Filename:=monfichier
"Kikoolol" news:
Bonjour et voici mon problème :

Je souhaite à partir d'un bouton d'une UserForm ouvrir un fichier excel
afin
d'importer des données sur la feuille qui contient la macro.
J'utilise la commande xlDialogOpen mais le soucis vient du fait que je
trouve pas le moyen d'obliger l'utilisateur à n'ouvrir que des fichiers
excel.
Existe t il un procédé, soit en imposant l'ouverture d'un *.xls, soit en
affichant un message d'erreur à l'utilisateur qui tente d'ouvrir un
fichier
doc ou html par ce biais.

En espérant avoir été assez clair sur mon problème, merci de vos réponses!







RENAUD Eric
Le #4701801
Bonjour,
Tu peux essayer le code suivant :
Sub OuvreXLS()
Dim LongFilename As String
ClasseurOpen = ActiveWorkbook.Name
ChDrive "C:"
ChDir "C:Excel"
LongFilename = Application.GetOpenFilename("Fichiers Excel (*.xls),
*.xls", , "Ouvrir le fichier 2003XX_Indic._Log._Qual._Deutsch_Connect.xls
...")
If LongFilename = "Faux" Then
Exit Sub
Else
MyNewClasseur = Shortfilename(LongFilename)
End If
If MyNewClasseur = ClasseurOpen Then
Resp = MsgBox("Vous ne pouvez pas ouvrir un classeur avec le même
nom que celui qui est déjà ouvert. " & vbCr & "Recommencez l'opération.",
vbOKOnly + vbCritical, "Ouverture de classeur")
Exit Sub
Else
Workbooks.Open Filename:=LongFilename
End If
End Sub

Function Shortfilename(LongFilename As String) As String
For i = Len(LongFilename) To 1 Step -1
If Mid(LongFilename, i, 1) = "" Then Exit For
Next
Shortfilename = Mid(LongFilename, i + 1, Len(LongFilename))
End Function


"Kikoolol" news:
Bonjour et voici mon problème :

Je souhaite à partir d'un bouton d'une UserForm ouvrir un fichier excel
afin
d'importer des données sur la feuille qui contient la macro.
J'utilise la commande xlDialogOpen mais le soucis vient du fait que je
trouve pas le moyen d'obliger l'utilisateur à n'ouvrir que des fichiers
excel.
Existe t il un procédé, soit en imposant l'ouverture d'un *.xls, soit en
affichant un message d'erreur à l'utilisateur qui tente d'ouvrir un
fichier
doc ou html par ce biais.

En espérant avoir été assez clair sur mon problème, merci de vos réponses!


Kikoolol
Le #4701151
Ok merci je vais essayer!


Bonjour,
Tu peux essayer le code suivant :
Sub OuvreXLS()
Dim LongFilename As String
ClasseurOpen = ActiveWorkbook.Name
ChDrive "C:"
ChDir "C:Excel"
LongFilename = Application.GetOpenFilename("Fichiers Excel (*.xls),
*.xls", , "Ouvrir le fichier 2003XX_Indic._Log._Qual._Deutsch_Connect.xls
....")
If LongFilename = "Faux" Then
Exit Sub
Else
MyNewClasseur = Shortfilename(LongFilename)
End If
If MyNewClasseur = ClasseurOpen Then
Resp = MsgBox("Vous ne pouvez pas ouvrir un classeur avec le même
nom que celui qui est déjà ouvert. " & vbCr & "Recommencez l'opération.",
vbOKOnly + vbCritical, "Ouverture de classeur")
Exit Sub
Else
Workbooks.Open Filename:=LongFilename
End If
End Sub

Function Shortfilename(LongFilename As String) As String
For i = Len(LongFilename) To 1 Step -1
If Mid(LongFilename, i, 1) = "" Then Exit For
Next
Shortfilename = Mid(LongFilename, i + 1, Len(LongFilename))
End Function


"Kikoolol" news:
Bonjour et voici mon problème :

Je souhaite à partir d'un bouton d'une UserForm ouvrir un fichier excel
afin
d'importer des données sur la feuille qui contient la macro.
J'utilise la commande xlDialogOpen mais le soucis vient du fait que je
trouve pas le moyen d'obliger l'utilisateur à n'ouvrir que des fichiers
excel.
Existe t il un procédé, soit en imposant l'ouverture d'un *.xls, soit en
affichant un message d'erreur à l'utilisateur qui tente d'ouvrir un
fichier
doc ou html par ce biais.

En espérant avoir été assez clair sur mon problème, merci de vos réponses!







Kikoolol
Le #4701131
Ta macro marche tres bien! Merci de m'avoir enlevé cette épine du pied!

MERCI BCP Eric!


Ok merci je vais essayer!


Bonjour,
Tu peux essayer le code suivant :
Sub OuvreXLS()
Dim LongFilename As String
ClasseurOpen = ActiveWorkbook.Name
ChDrive "C:"
ChDir "C:Excel"
LongFilename = Application.GetOpenFilename("Fichiers Excel (*.xls),
*.xls", , "Ouvrir le fichier 2003XX_Indic._Log._Qual._Deutsch_Connect.xls
....")
If LongFilename = "Faux" Then
Exit Sub
Else
MyNewClasseur = Shortfilename(LongFilename)
End If
If MyNewClasseur = ClasseurOpen Then
Resp = MsgBox("Vous ne pouvez pas ouvrir un classeur avec le même
nom que celui qui est déjà ouvert. " & vbCr & "Recommencez l'opération.",
vbOKOnly + vbCritical, "Ouverture de classeur")
Exit Sub
Else
Workbooks.Open Filename:=LongFilename
End If
End Sub

Function Shortfilename(LongFilename As String) As String
For i = Len(LongFilename) To 1 Step -1
If Mid(LongFilename, i, 1) = "" Then Exit For
Next
Shortfilename = Mid(LongFilename, i + 1, Len(LongFilename))
End Function


"Kikoolol" news:
Bonjour et voici mon problème :

Je souhaite à partir d'un bouton d'une UserForm ouvrir un fichier excel
afin
d'importer des données sur la feuille qui contient la macro.
J'utilise la commande xlDialogOpen mais le soucis vient du fait que je
trouve pas le moyen d'obliger l'utilisateur à n'ouvrir que des fichiers
excel.
Existe t il un procédé, soit en imposant l'ouverture d'un *.xls, soit en
affichant un message d'erreur à l'utilisateur qui tente d'ouvrir un
fichier
doc ou html par ce biais.

En espérant avoir été assez clair sur mon problème, merci de vos réponses!









Publicité
Poster une réponse
Anonyme