Bonjour,
J'ai un classeur A (ouvert) et je veux (en vba) récupérer toutes les
données de la feuille 1 afin de les copier dans la feuille "base" d'un
classeur B, lui même ouvert.
A noter que :
- le classeur A est soit *.csv soit *.xls
- je souhaite réaliser l'importation depuis le classeur B.
- je souhaite que la macro se lance via un Bouton qui une fois "pressé"
m'affiche tous les fichiers Excel et Texte (csv) ouverts et me permette de
sélectionner celui de mon choix ...
- etc.
J'ai trouvé un bout de code qui est peut-être une piste, mais c'est très
insuffisant ;-)
Merci d'avance pour vos lumières.
'---------------------------------------------------
Option Explicit
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Texte (séparateur : point-virgule) (*.csv),*.csv," & _
"Fichiers Excel (*.xls), *.xls,"
filtreIndex = 5
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
filtreIndex, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
'---------------------------------------------------
--
Cordialement @+
JP
Bonjour,
J'ai un classeur A (ouvert) et je veux (en vba) récupérer toutes les
données de la feuille 1 afin de les copier dans la feuille "base" d'un
classeur B, lui même ouvert.
A noter que :
- le classeur A est soit *.csv soit *.xls
- je souhaite réaliser l'importation depuis le classeur B.
- je souhaite que la macro se lance via un Bouton qui une fois "pressé"
m'affiche tous les fichiers Excel et Texte (csv) ouverts et me permette de
sélectionner celui de mon choix ...
- etc.
J'ai trouvé un bout de code qui est peut-être une piste, mais c'est très
insuffisant ;-)
Merci d'avance pour vos lumières.
'---------------------------------------------------
Option Explicit
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Texte (séparateur : point-virgule) (*.csv),*.csv," & _
"Fichiers Excel (*.xls), *.xls,"
filtreIndex = 5
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
filtreIndex, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
'---------------------------------------------------
--
Cordialement @+
JP
Bonjour,
J'ai un classeur A (ouvert) et je veux (en vba) récupérer toutes les
données de la feuille 1 afin de les copier dans la feuille "base" d'un
classeur B, lui même ouvert.
A noter que :
- le classeur A est soit *.csv soit *.xls
- je souhaite réaliser l'importation depuis le classeur B.
- je souhaite que la macro se lance via un Bouton qui une fois "pressé"
m'affiche tous les fichiers Excel et Texte (csv) ouverts et me permette de
sélectionner celui de mon choix ...
- etc.
J'ai trouvé un bout de code qui est peut-être une piste, mais c'est très
insuffisant ;-)
Merci d'avance pour vos lumières.
'---------------------------------------------------
Option Explicit
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Texte (séparateur : point-virgule) (*.csv),*.csv," & _
"Fichiers Excel (*.xls), *.xls,"
filtreIndex = 5
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
filtreIndex, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
'---------------------------------------------------
--
Cordialement @+
JP
Bonsoir.
Teste :
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "( "" Fichiers texte (*.csv) *.txt, fichiers Excel (*.xls)
*.xls "" )"
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
Cordialement.
Daniel
"j-pascal" a écrit dans le message de news:
%Bonjour,
J'ai un classeur A (ouvert) et je veux (en vba) récupérer toutes les
données de la feuille 1 afin de les copier dans la feuille "base" d'un
classeur B, lui même ouvert.
A noter que :
- le classeur A est soit *.csv soit *.xls
- je souhaite réaliser l'importation depuis le classeur B.
- je souhaite que la macro se lance via un Bouton qui une fois "pressé"
m'affiche tous les fichiers Excel et Texte (csv) ouverts et me permette
de sélectionner celui de mon choix ...
- etc.
J'ai trouvé un bout de code qui est peut-être une piste, mais c'est très
insuffisant ;-)
Merci d'avance pour vos lumières.
'---------------------------------------------------
Option Explicit
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Texte (séparateur : point-virgule) (*.csv),*.csv," & _
"Fichiers Excel (*.xls), *.xls,"
filtreIndex = 5
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
filtreIndex, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
'---------------------------------------------------
--
Cordialement @+
JP
Bonsoir.
Teste :
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "( "" Fichiers texte (*.csv) *.txt, fichiers Excel (*.xls)
*.xls "" )"
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
Cordialement.
Daniel
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
%23Vc669Q3HHA.1184@TK2MSFTNGP04.phx.gbl...
Bonjour,
J'ai un classeur A (ouvert) et je veux (en vba) récupérer toutes les
données de la feuille 1 afin de les copier dans la feuille "base" d'un
classeur B, lui même ouvert.
A noter que :
- le classeur A est soit *.csv soit *.xls
- je souhaite réaliser l'importation depuis le classeur B.
- je souhaite que la macro se lance via un Bouton qui une fois "pressé"
m'affiche tous les fichiers Excel et Texte (csv) ouverts et me permette
de sélectionner celui de mon choix ...
- etc.
J'ai trouvé un bout de code qui est peut-être une piste, mais c'est très
insuffisant ;-)
Merci d'avance pour vos lumières.
'---------------------------------------------------
Option Explicit
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Texte (séparateur : point-virgule) (*.csv),*.csv," & _
"Fichiers Excel (*.xls), *.xls,"
filtreIndex = 5
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
filtreIndex, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
'---------------------------------------------------
--
Cordialement @+
JP
Bonsoir.
Teste :
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "( "" Fichiers texte (*.csv) *.txt, fichiers Excel (*.xls)
*.xls "" )"
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
Cordialement.
Daniel
"j-pascal" a écrit dans le message de news:
%Bonjour,
J'ai un classeur A (ouvert) et je veux (en vba) récupérer toutes les
données de la feuille 1 afin de les copier dans la feuille "base" d'un
classeur B, lui même ouvert.
A noter que :
- le classeur A est soit *.csv soit *.xls
- je souhaite réaliser l'importation depuis le classeur B.
- je souhaite que la macro se lance via un Bouton qui une fois "pressé"
m'affiche tous les fichiers Excel et Texte (csv) ouverts et me permette
de sélectionner celui de mon choix ...
- etc.
J'ai trouvé un bout de code qui est peut-être une piste, mais c'est très
insuffisant ;-)
Merci d'avance pour vos lumières.
'---------------------------------------------------
Option Explicit
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Texte (séparateur : point-virgule) (*.csv),*.csv," & _
"Fichiers Excel (*.xls), *.xls,"
filtreIndex = 5
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
filtreIndex, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
'---------------------------------------------------
--
Cordialement @+
JP
- Est-il possible, dans la fenêtre qui s'ouvre, de n'afficher que les xls
et csv, sans les répertoires et autres fichiers ?
- Quelle action ce code a sur le fichier sélectionné ? Comment puis-je
sélectionner le contenu de la Feuil1 de ce dernier ?
qu'à MesDocuments ?
@+ ?
JP
"Daniel" a écrit dans le message de news:Bonsoir.
Teste :
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "( "" Fichiers texte (*.csv) *.txt, fichiers Excel (*.xls)
*.xls "" )"
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
Cordialement.
Daniel
"j-pascal" a écrit dans le message de news:
%Bonjour,
J'ai un classeur A (ouvert) et je veux (en vba) récupérer toutes les
données de la feuille 1 afin de les copier dans la feuille "base" d'un
classeur B, lui même ouvert.
A noter que :
- le classeur A est soit *.csv soit *.xls
- je souhaite réaliser l'importation depuis le classeur B.
- je souhaite que la macro se lance via un Bouton qui une fois "pressé"
m'affiche tous les fichiers Excel et Texte (csv) ouverts et me permette
de sélectionner celui de mon choix ...
- etc.
J'ai trouvé un bout de code qui est peut-être une piste, mais c'est très
insuffisant ;-)
Merci d'avance pour vos lumières.
'---------------------------------------------------
Option Explicit
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Texte (séparateur : point-virgule) (*.csv),*.csv," & _
"Fichiers Excel (*.xls), *.xls,"
filtreIndex = 5
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
filtreIndex, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
'---------------------------------------------------
--
Cordialement @+
JP
- Est-il possible, dans la fenêtre qui s'ouvre, de n'afficher que les xls
et csv, sans les répertoires et autres fichiers ?
- Quelle action ce code a sur le fichier sélectionné ? Comment puis-je
sélectionner le contenu de la Feuil1 de ce dernier ?
qu'à MesDocuments ?
@+ ?
JP
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
OGATRoS3HHA.3900@TK2MSFTNGP02.phx.gbl...
Bonsoir.
Teste :
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "( "" Fichiers texte (*.csv) *.txt, fichiers Excel (*.xls)
*.xls "" )"
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
Cordialement.
Daniel
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
%23Vc669Q3HHA.1184@TK2MSFTNGP04.phx.gbl...
Bonjour,
J'ai un classeur A (ouvert) et je veux (en vba) récupérer toutes les
données de la feuille 1 afin de les copier dans la feuille "base" d'un
classeur B, lui même ouvert.
A noter que :
- le classeur A est soit *.csv soit *.xls
- je souhaite réaliser l'importation depuis le classeur B.
- je souhaite que la macro se lance via un Bouton qui une fois "pressé"
m'affiche tous les fichiers Excel et Texte (csv) ouverts et me permette
de sélectionner celui de mon choix ...
- etc.
J'ai trouvé un bout de code qui est peut-être une piste, mais c'est très
insuffisant ;-)
Merci d'avance pour vos lumières.
'---------------------------------------------------
Option Explicit
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Texte (séparateur : point-virgule) (*.csv),*.csv," & _
"Fichiers Excel (*.xls), *.xls,"
filtreIndex = 5
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
filtreIndex, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
'---------------------------------------------------
--
Cordialement @+
JP
- Est-il possible, dans la fenêtre qui s'ouvre, de n'afficher que les xls
et csv, sans les répertoires et autres fichiers ?
- Quelle action ce code a sur le fichier sélectionné ? Comment puis-je
sélectionner le contenu de la Feuil1 de ce dernier ?
qu'à MesDocuments ?
@+ ?
JP
"Daniel" a écrit dans le message de news:Bonsoir.
Teste :
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "( "" Fichiers texte (*.csv) *.txt, fichiers Excel (*.xls)
*.xls "" )"
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
Cordialement.
Daniel
"j-pascal" a écrit dans le message de news:
%Bonjour,
J'ai un classeur A (ouvert) et je veux (en vba) récupérer toutes les
données de la feuille 1 afin de les copier dans la feuille "base" d'un
classeur B, lui même ouvert.
A noter que :
- le classeur A est soit *.csv soit *.xls
- je souhaite réaliser l'importation depuis le classeur B.
- je souhaite que la macro se lance via un Bouton qui une fois "pressé"
m'affiche tous les fichiers Excel et Texte (csv) ouverts et me permette
de sélectionner celui de mon choix ...
- etc.
J'ai trouvé un bout de code qui est peut-être une piste, mais c'est très
insuffisant ;-)
Merci d'avance pour vos lumières.
'---------------------------------------------------
Option Explicit
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Texte (séparateur : point-virgule) (*.csv),*.csv," & _
"Fichiers Excel (*.xls), *.xls,"
filtreIndex = 5
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
filtreIndex, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
'---------------------------------------------------
--
Cordialement @+
JP
Bonjour.
1. Rectificatif :
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Fichiers, *.csv; *.xls"
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, , _
Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub- Est-il possible, dans la fenêtre qui s'ouvre, de n'afficher que les xls
et csv, sans les répertoires et autres fichiers ?
2. Avec la macro ci-dessus, tu ne peux pas faire apparaître les autres
types de fichier.
Je ne pense pas que tu puisses supprimer le changement de répertoire sauf
à redévelopper une boite de dialogue personnalisée.- Quelle action ce code a sur le fichier sélectionné ? Comment puis-je
sélectionner le contenu de la Feuil1 de ce dernier ?
3. Tu récupères dans "nomFichier" le nom du fichier sélectionné. Tu dois
l'ouvrir (workbooks.Open nomFichier) pour travailler avec.
- Je pense qu'il doit être possible d'accéder directement au Bureau plutôtqu'à MesDocuments ?
4. Ajoute, avant la ligne :
nomFichier = Application.GetOpenFilename(typeFichier, , _
Titre)
les lignes :
ChDrive "C"
ChDir "C:Documents and SettingsAmélieBureau"
en codant le chemin de ton bureau.
Daniel
@+ ?
JP
"Daniel" a écrit dans le message de news:Bonsoir.
Teste :
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "( "" Fichiers texte (*.csv) *.txt, fichiers Excel (*.xls)
*.xls "" )"
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
Cordialement.
Daniel
"j-pascal" a écrit dans le message de news:
%Bonjour,
J'ai un classeur A (ouvert) et je veux (en vba) récupérer toutes les
données de la feuille 1 afin de les copier dans la feuille "base" d'un
classeur B, lui même ouvert.
A noter que :
- le classeur A est soit *.csv soit *.xls
- je souhaite réaliser l'importation depuis le classeur B.
- je souhaite que la macro se lance via un Bouton qui une fois "pressé"
m'affiche tous les fichiers Excel et Texte (csv) ouverts et me permette
de sélectionner celui de mon choix ...
- etc.
J'ai trouvé un bout de code qui est peut-être une piste, mais c'est
très insuffisant ;-)
Merci d'avance pour vos lumières.
'---------------------------------------------------
Option Explicit
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Texte (séparateur : point-virgule) (*.csv),*.csv," & _
"Fichiers Excel (*.xls), *.xls,"
filtreIndex = 5
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
filtreIndex, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
'---------------------------------------------------
--
Cordialement @+
JP
Bonjour.
1. Rectificatif :
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Fichiers, *.csv; *.xls"
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, , _
Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
- Est-il possible, dans la fenêtre qui s'ouvre, de n'afficher que les xls
et csv, sans les répertoires et autres fichiers ?
2. Avec la macro ci-dessus, tu ne peux pas faire apparaître les autres
types de fichier.
Je ne pense pas que tu puisses supprimer le changement de répertoire sauf
à redévelopper une boite de dialogue personnalisée.
- Quelle action ce code a sur le fichier sélectionné ? Comment puis-je
sélectionner le contenu de la Feuil1 de ce dernier ?
3. Tu récupères dans "nomFichier" le nom du fichier sélectionné. Tu dois
l'ouvrir (workbooks.Open nomFichier) pour travailler avec.
- Je pense qu'il doit être possible d'accéder directement au Bureau plutôt
qu'à MesDocuments ?
4. Ajoute, avant la ligne :
nomFichier = Application.GetOpenFilename(typeFichier, , _
Titre)
les lignes :
ChDrive "C"
ChDir "C:Documents and SettingsAmélieBureau"
en codant le chemin de ton bureau.
Daniel
@+ ?
JP
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
OGATRoS3HHA.3900@TK2MSFTNGP02.phx.gbl...
Bonsoir.
Teste :
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "( "" Fichiers texte (*.csv) *.txt, fichiers Excel (*.xls)
*.xls "" )"
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
Cordialement.
Daniel
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
%23Vc669Q3HHA.1184@TK2MSFTNGP04.phx.gbl...
Bonjour,
J'ai un classeur A (ouvert) et je veux (en vba) récupérer toutes les
données de la feuille 1 afin de les copier dans la feuille "base" d'un
classeur B, lui même ouvert.
A noter que :
- le classeur A est soit *.csv soit *.xls
- je souhaite réaliser l'importation depuis le classeur B.
- je souhaite que la macro se lance via un Bouton qui une fois "pressé"
m'affiche tous les fichiers Excel et Texte (csv) ouverts et me permette
de sélectionner celui de mon choix ...
- etc.
J'ai trouvé un bout de code qui est peut-être une piste, mais c'est
très insuffisant ;-)
Merci d'avance pour vos lumières.
'---------------------------------------------------
Option Explicit
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Texte (séparateur : point-virgule) (*.csv),*.csv," & _
"Fichiers Excel (*.xls), *.xls,"
filtreIndex = 5
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
filtreIndex, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
'---------------------------------------------------
--
Cordialement @+
JP
Bonjour.
1. Rectificatif :
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Fichiers, *.csv; *.xls"
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, , _
Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub- Est-il possible, dans la fenêtre qui s'ouvre, de n'afficher que les xls
et csv, sans les répertoires et autres fichiers ?
2. Avec la macro ci-dessus, tu ne peux pas faire apparaître les autres
types de fichier.
Je ne pense pas que tu puisses supprimer le changement de répertoire sauf
à redévelopper une boite de dialogue personnalisée.- Quelle action ce code a sur le fichier sélectionné ? Comment puis-je
sélectionner le contenu de la Feuil1 de ce dernier ?
3. Tu récupères dans "nomFichier" le nom du fichier sélectionné. Tu dois
l'ouvrir (workbooks.Open nomFichier) pour travailler avec.
- Je pense qu'il doit être possible d'accéder directement au Bureau plutôtqu'à MesDocuments ?
4. Ajoute, avant la ligne :
nomFichier = Application.GetOpenFilename(typeFichier, , _
Titre)
les lignes :
ChDrive "C"
ChDir "C:Documents and SettingsAmélieBureau"
en codant le chemin de ton bureau.
Daniel
@+ ?
JP
"Daniel" a écrit dans le message de news:Bonsoir.
Teste :
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "( "" Fichiers texte (*.csv) *.txt, fichiers Excel (*.xls)
*.xls "" )"
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
Cordialement.
Daniel
"j-pascal" a écrit dans le message de news:
%Bonjour,
J'ai un classeur A (ouvert) et je veux (en vba) récupérer toutes les
données de la feuille 1 afin de les copier dans la feuille "base" d'un
classeur B, lui même ouvert.
A noter que :
- le classeur A est soit *.csv soit *.xls
- je souhaite réaliser l'importation depuis le classeur B.
- je souhaite que la macro se lance via un Bouton qui une fois "pressé"
m'affiche tous les fichiers Excel et Texte (csv) ouverts et me permette
de sélectionner celui de mon choix ...
- etc.
J'ai trouvé un bout de code qui est peut-être une piste, mais c'est
très insuffisant ;-)
Merci d'avance pour vos lumières.
'---------------------------------------------------
Option Explicit
Sub RécupNomFichier()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Texte (séparateur : point-virgule) (*.csv),*.csv," & _
"Fichiers Excel (*.xls), *.xls,"
filtreIndex = 5
Titre = "sélectionnez le fichier à importer"
nomFichier = Application.GetOpenFilename(typeFichier, _
filtreIndex, Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
End Sub
'---------------------------------------------------
--
Cordialement @+
JP
- Pourquoi : MsgBox "Vous avez sélectionné le fichier : " & nomFichier
m'affiche le nom de fichier avec le chemin ? Est-il possible d'avoir
uniquement le nom du fichier ?
- Effectivement, je n'ai que les fichiers .csv et .xls et j'imagine qu'il
n'était pas possible de ne pas voir les raccourcis et les répertoires ...
- Pourquoi : MsgBox "Vous avez sélectionné le fichier : " & nomFichier
m'affiche le nom de fichier avec le chemin ? Est-il possible d'avoir
uniquement le nom du fichier ?
- Effectivement, je n'ai que les fichiers .csv et .xls et j'imagine qu'il
n'était pas possible de ne pas voir les raccourcis et les répertoires ...
- Pourquoi : MsgBox "Vous avez sélectionné le fichier : " & nomFichier
m'affiche le nom de fichier avec le chemin ? Est-il possible d'avoir
uniquement le nom du fichier ?
- Effectivement, je n'ai que les fichiers .csv et .xls et j'imagine qu'il
n'était pas possible de ne pas voir les raccourcis et les répertoires ...
- Pourquoi : MsgBox "Vous avez sélectionné le fichier : " & nomFichier
m'affiche le nom de fichier avec le chemin ? Est-il possible d'avoir
uniquement le nom du fichier ?
Ajoute l'instruction :
nomFichier = Dir(nomFichier)
avant :
MsgBox "Vous avez sélectionné le fichier : " & nomFichier- Effectivement, je n'ai que les fichiers .csv et .xls et j'imagine qu'il
n'était pas possible de ne pas voir les raccourcis et les répertoires ...
A ma connaissance, non, ça fonctionne comme la fenêtre d'ouverture
d'Excel.
Daniel
- Pourquoi : MsgBox "Vous avez sélectionné le fichier : " & nomFichier
m'affiche le nom de fichier avec le chemin ? Est-il possible d'avoir
uniquement le nom du fichier ?
Ajoute l'instruction :
nomFichier = Dir(nomFichier)
avant :
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
- Effectivement, je n'ai que les fichiers .csv et .xls et j'imagine qu'il
n'était pas possible de ne pas voir les raccourcis et les répertoires ...
A ma connaissance, non, ça fonctionne comme la fenêtre d'ouverture
d'Excel.
Daniel
- Pourquoi : MsgBox "Vous avez sélectionné le fichier : " & nomFichier
m'affiche le nom de fichier avec le chemin ? Est-il possible d'avoir
uniquement le nom du fichier ?
Ajoute l'instruction :
nomFichier = Dir(nomFichier)
avant :
MsgBox "Vous avez sélectionné le fichier : " & nomFichier- Effectivement, je n'ai que les fichiers .csv et .xls et j'imagine qu'il
n'était pas possible de ne pas voir les raccourcis et les répertoires ...
A ma connaissance, non, ça fonctionne comme la fenêtre d'ouverture
d'Excel.
Daniel
Re,,
Merci, cela fonctionne parfaitement.
Si le nom du classeur que je suis allé récupérer avec cette macro est
"nomFichier" (sur le bureau c'est Toto.xls), pourquoi ne puis-je pas le
récupérer pour le fermer et revenir sur le classeur d'où je lance la macro
?
Ca bugue entre Msgbox 1 et Msgbox 2 ...
@+ ?
JP
---------------------------------------------
Sub RécupNomFichier3()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Fichiers, *.csv; *.xls"
Titre = "sélectionnez le fichier à importer"
ChDrive "C"
ChDir "C:Documents and Settingsjean-pascalBureau"
nomFichier = Application.GetOpenFilename(typeFichier, , Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
nomFichier = Dir(nomFichier)
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
Workbooks.Open nomFichier
Cells.Select
Selection.Copy
Windows("essai getOpen.xls").Activate
Sheets("base").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
MsgBox 1
Windows("nomFichier.xls").Activate
MsgBox 2
ActiveWorkbook.Close
End Sub
------------------------------------------------------------
"Daniel" a écrit dans le message de news:- Pourquoi : MsgBox "Vous avez sélectionné le fichier : " & nomFichier
m'affiche le nom de fichier avec le chemin ? Est-il possible d'avoir
uniquement le nom du fichier ?
Ajoute l'instruction :
nomFichier = Dir(nomFichier)
avant :
MsgBox "Vous avez sélectionné le fichier : " & nomFichier- Effectivement, je n'ai que les fichiers .csv et .xls et j'imagine
qu'il n'était pas possible de ne pas voir les raccourcis et les
répertoires ...
A ma connaissance, non, ça fonctionne comme la fenêtre d'ouverture
d'Excel.
Daniel
Re,,
Merci, cela fonctionne parfaitement.
Si le nom du classeur que je suis allé récupérer avec cette macro est
"nomFichier" (sur le bureau c'est Toto.xls), pourquoi ne puis-je pas le
récupérer pour le fermer et revenir sur le classeur d'où je lance la macro
?
Ca bugue entre Msgbox 1 et Msgbox 2 ...
@+ ?
JP
---------------------------------------------
Sub RécupNomFichier3()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Fichiers, *.csv; *.xls"
Titre = "sélectionnez le fichier à importer"
ChDrive "C"
ChDir "C:Documents and Settingsjean-pascalBureau"
nomFichier = Application.GetOpenFilename(typeFichier, , Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
nomFichier = Dir(nomFichier)
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
Workbooks.Open nomFichier
Cells.Select
Selection.Copy
Windows("essai getOpen.xls").Activate
Sheets("base").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
MsgBox 1
Windows("nomFichier.xls").Activate
MsgBox 2
ActiveWorkbook.Close
End Sub
------------------------------------------------------------
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
Oukvuzb3HHA.4880@TK2MSFTNGP03.phx.gbl...
- Pourquoi : MsgBox "Vous avez sélectionné le fichier : " & nomFichier
m'affiche le nom de fichier avec le chemin ? Est-il possible d'avoir
uniquement le nom du fichier ?
Ajoute l'instruction :
nomFichier = Dir(nomFichier)
avant :
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
- Effectivement, je n'ai que les fichiers .csv et .xls et j'imagine
qu'il n'était pas possible de ne pas voir les raccourcis et les
répertoires ...
A ma connaissance, non, ça fonctionne comme la fenêtre d'ouverture
d'Excel.
Daniel
Re,,
Merci, cela fonctionne parfaitement.
Si le nom du classeur que je suis allé récupérer avec cette macro est
"nomFichier" (sur le bureau c'est Toto.xls), pourquoi ne puis-je pas le
récupérer pour le fermer et revenir sur le classeur d'où je lance la macro
?
Ca bugue entre Msgbox 1 et Msgbox 2 ...
@+ ?
JP
---------------------------------------------
Sub RécupNomFichier3()
Dim typeFichier As String
Dim filtreIndex As Integer
Dim Titre As String
Dim nomFichier As Variant
typeFichier = "Fichiers, *.csv; *.xls"
Titre = "sélectionnez le fichier à importer"
ChDrive "C"
ChDir "C:Documents and Settingsjean-pascalBureau"
nomFichier = Application.GetOpenFilename(typeFichier, , Titre)
If nomFichier = False Then
MsgBox "Aucun fichier n'a été sélectionné."
Else
nomFichier = Dir(nomFichier)
MsgBox "Vous avez sélectionné le fichier : " & nomFichier
End If
Workbooks.Open nomFichier
Cells.Select
Selection.Copy
Windows("essai getOpen.xls").Activate
Sheets("base").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
MsgBox 1
Windows("nomFichier.xls").Activate
MsgBox 2
ActiveWorkbook.Close
End Sub
------------------------------------------------------------
"Daniel" a écrit dans le message de news:- Pourquoi : MsgBox "Vous avez sélectionné le fichier : " & nomFichier
m'affiche le nom de fichier avec le chemin ? Est-il possible d'avoir
uniquement le nom du fichier ?
Ajoute l'instruction :
nomFichier = Dir(nomFichier)
avant :
MsgBox "Vous avez sélectionné le fichier : " & nomFichier- Effectivement, je n'ai que les fichiers .csv et .xls et j'imagine
qu'il n'était pas possible de ne pas voir les raccourcis et les
répertoires ...
A ma connaissance, non, ça fonctionne comme la fenêtre d'ouverture
d'Excel.
Daniel
Windows(nomFichier).Activate
et non pas :
Windows("nomFichier.xls").Activate
Windows(nomFichier).Activate
et non pas :
Windows("nomFichier.xls").Activate
Windows(nomFichier).Activate
et non pas :
Windows("nomFichier.xls").Activate
Re,
Merci beaucoup ... tout marche parfaitement ... et même au délà de mes
espérances !!!Windows(nomFichier).Activate
et non pas :
Windows("nomFichier.xls").Activate
Je suis un peu curieux ... Pourquoi y-a-t-il des " " pour activer le
classeur qui suit ?
Windows("essai getOpen.xls").Activate
Pourquoi ne peut-on pas activer "nomFichier" avec la même syntaxe ??
@+ ?
JP
Re,
Merci beaucoup ... tout marche parfaitement ... et même au délà de mes
espérances !!!
Windows(nomFichier).Activate
et non pas :
Windows("nomFichier.xls").Activate
Je suis un peu curieux ... Pourquoi y-a-t-il des " " pour activer le
classeur qui suit ?
Windows("essai getOpen.xls").Activate
Pourquoi ne peut-on pas activer "nomFichier" avec la même syntaxe ??
@+ ?
JP
Re,
Merci beaucoup ... tout marche parfaitement ... et même au délà de mes
espérances !!!Windows(nomFichier).Activate
et non pas :
Windows("nomFichier.xls").Activate
Je suis un peu curieux ... Pourquoi y-a-t-il des " " pour activer le
classeur qui suit ?
Windows("essai getOpen.xls").Activate
Pourquoi ne peut-on pas activer "nomFichier" avec la même syntaxe ??
@+ ?
JP
Ce sont deux choses :
Dans le cas de nomFichier, tu fais référence à une variable et VBA
remplace nomFichier par sa valeur (toto.xls). Dans le second tu fournis le
nom du fichier entre guillemets. Ce qui est enttre guillemets est
considéré comme du texte. Si tu mets "nomFichier.xls", VBA va chercher un
classeur dont le nom est nomFichier.xls. Si tu mets simplement nomFichier,
VBA cherchera la valeur de la variable.
J'espère avoir été clair...
Daniel
"j-pascal" a écrit dans le message de news:Re,
Merci beaucoup ... tout marche parfaitement ... et même au délà de mes
espérances !!!Windows(nomFichier).Activate
et non pas :
Windows("nomFichier.xls").Activate
Je suis un peu curieux ... Pourquoi y-a-t-il des " " pour activer le
classeur qui suit ?
Windows("essai getOpen.xls").Activate
Pourquoi ne peut-on pas activer "nomFichier" avec la même syntaxe ??
@+ ?
JP
Ce sont deux choses :
Dans le cas de nomFichier, tu fais référence à une variable et VBA
remplace nomFichier par sa valeur (toto.xls). Dans le second tu fournis le
nom du fichier entre guillemets. Ce qui est enttre guillemets est
considéré comme du texte. Si tu mets "nomFichier.xls", VBA va chercher un
classeur dont le nom est nomFichier.xls. Si tu mets simplement nomFichier,
VBA cherchera la valeur de la variable.
J'espère avoir été clair...
Daniel
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
ugbH8id3HHA.5160@TK2MSFTNGP05.phx.gbl...
Re,
Merci beaucoup ... tout marche parfaitement ... et même au délà de mes
espérances !!!
Windows(nomFichier).Activate
et non pas :
Windows("nomFichier.xls").Activate
Je suis un peu curieux ... Pourquoi y-a-t-il des " " pour activer le
classeur qui suit ?
Windows("essai getOpen.xls").Activate
Pourquoi ne peut-on pas activer "nomFichier" avec la même syntaxe ??
@+ ?
JP
Ce sont deux choses :
Dans le cas de nomFichier, tu fais référence à une variable et VBA
remplace nomFichier par sa valeur (toto.xls). Dans le second tu fournis le
nom du fichier entre guillemets. Ce qui est enttre guillemets est
considéré comme du texte. Si tu mets "nomFichier.xls", VBA va chercher un
classeur dont le nom est nomFichier.xls. Si tu mets simplement nomFichier,
VBA cherchera la valeur de la variable.
J'espère avoir été clair...
Daniel
"j-pascal" a écrit dans le message de news:Re,
Merci beaucoup ... tout marche parfaitement ... et même au délà de mes
espérances !!!Windows(nomFichier).Activate
et non pas :
Windows("nomFichier.xls").Activate
Je suis un peu curieux ... Pourquoi y-a-t-il des " " pour activer le
classeur qui suit ?
Windows("essai getOpen.xls").Activate
Pourquoi ne peut-on pas activer "nomFichier" avec la même syntaxe ??
@+ ?
JP