Importer données d'un autre fichier Excel

Poussin

XLDnaute Occasionnel
Bonjour à tous,

Je souhaiterais récupérer les données présentes à l'intérieur d'un fichier Excel généré automatiquement.
Je voudrais les récupérer pour les avoir dans un autre fichier Excel qui possède les différentes macros nécessaires au traitement des données.
Pour cela j'ai codé de la façon suivante :

Code:
Sub Bouton1_Cliquer()

    Dim chemin As String         'nom de variable récupérant le chemin du fichier source
 
    chemin = Application.GetOpenFilename
    Workbooks("Nouveau.xlsm").Worksheets("Feuil1").Cells.ClearContents
    Workbooks.Open Filename:=chemin
    Workbooks(chemin).Worksheets("(All)").Cells.Copy _
    Workbooks("Nouveau.xlsm").Worksheets("Feuil1").Range("A1")
    Workbooks(chemin).Close False


End Sub
Le fichier Nouveau.xlsm est celui qui devra traiter les données venant du fichier que l'on aura sélectionné avant le bouton Parcourir.
Malheureusement il me met que l'indice n'appartient pas à la sélection. Je vous remercie par avance pour votre aide et vous souhaite une bonne fin de journée.

Cordialement
 

unrender

XLDnaute Junior
Re : Importer données d'un autre fichier Excel

Bonjour,

Je ne vois pas pourquoi ça ne fonctionne pas....
Cela devrait (je pense).

Ceci fonctionne :

Code:
Dim chemin As String         'nom de variable récupérant le chemin du fichier source
  
     chemin = Application.GetOpenFilename
     Workbooks("Nouveau.xlsm").Worksheets("Feuil1").Cells.ClearContents
     Set wb = Workbooks.Open(chemin)
     wb.Sheets("Feuil1").Cells.Copy Workbooks("Nouveau.xlsm").Sheets("Feuil1").Range("a1")
     wb.Close False
 

Poussin

XLDnaute Occasionnel
Effectivemetn cela fonctionne merci beaucoup pour ta réponse. Par contre le fichier source a l'onglet 1 qui ne s'appelle pas toujours de la même façon (normalement Feuil1) comment dois-je faire pour formaliser tout ça et que cela fonctionne pour n'importe quel fichier source. Merci encore.
 

Poussin

XLDnaute Occasionnel
Re: Re : Importer données d'un autre fichier Excel

Effectivement cela fonctionne merci beaucoup pour ta réponse. Par contre le fichier source a l'onglet 1 qui ne s'appelle pas toujours de la même façon (normalement Feuil1) comment dois-je faire pour formaliser tout ça et que cela fonctionne pour n'importe quel fichier source. Merci encore.
 

unrender

XLDnaute Junior
Re : Importer données d'un autre fichier Excel

Si c'est tout le temps l'onglet 1 :

Code:
Dim chemin As String         'nom de variable récupérant le chemin du fichier source
   
     chemin = Application.GetOpenFilename
      Workbooks("Nouveau.xlsm").Worksheets(1).Cells.ClearContents
      Set wb = Workbooks.Open(chemin)
      wb.Sheets(1).Cells.Copy Workbooks("Nouveau.xlsm").Sheets(1).Range("a1")
      wb.Close False
 

Poussin

XLDnaute Occasionnel
Je viens de m'apercevoir que je rencontre un problème lorsque je clique sur la croix ou lorsque je clique sur annuler.
Il me dit qu'il ne trouv epas le fichier "faux.xlsm" ce qui est compréhensible.

Donc pour empêcher cela je souhaiterais mettre en place une condition avec un SI juste avant le Set.

Merci d'avance.

Cordialement
 

unrender

XLDnaute Junior
Re : Re: Importer données d'un autre fichier Excel

Je viens de m'apercevoir que je rencontre un problème lorsque je clique sur la croix ou lorsque je clique sur annuler.
Il me dit qu'il ne trouv epas le fichier "faux.xlsm" ce qui est compréhensible.

Donc pour empêcher cela je souhaiterais mettre en place une condition avec un SI juste avant le Set.

Merci d'avance.

Cordialement


Un peu vague... Tu peux fournir plus de détails ?
 

Poussin

XLDnaute Occasionnel
Lorque la fenêtre permettant de parcourir les fichiers s'ouvre, on a le choix de choisir le fichier qui nous convient par contre si on clique sur la croix rouge en haut à droite ou sur annuler il y a une erreur qui s'affiche stipulant que le fichier Faux.xlsx est introuvable.

Je voudrais donc que lorqu'on clique sur la croix rouge ou annuler cela ferme seulement la fenêtre de recherche de fichiers.

Encore merci pour votre aide.
 

Pierrot93

XLDnaute Barbatruc
Re : Importer données d'un autre fichier Excel

Bonjour,

il est préférable de définir "chemin" comme "variant" et de coder ainsi :
Code:
Dim chemin As Variant
chemin = Application.GetOpenFilename
If chemin = False Then Exit Sub

bonne journée
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 525
Messages
2 089 327
Membres
104 121
dernier inscrit
bobquad01