Import feuille excel dans fichier excel de travail

philou7168

XLDnaute Nouveau
Bonjour,

J'utilise un logiciel qui relève des données avec oracle comme BD en tache de fond. Quand je veux exporter les données qui m’intéresse, elles le sont dans excel (données brut). En général je sauvegarde afin d'avoir un suivi historique (aaaammjj.xlsx).
A coté, je crée un fichier de travail, qui va me permettre d'obtenir automatiquement graphiques et autres alarmes en me basant sur les données bruts.
Mon soucis est simple, j'aimerai pour faire un import sur la feuille 1 de mon classeur de travail, ce serait carrément le top si je pouvais lier un code VBA a un command button.
Enfin, si possible, j'aimerai pouvoir choisir le fichier de données brut en utilisant "Application.GetOpenFilename" sans nom prédéfini.
Je n'attends pas le code complet, mais si déjà il y avait la possibilité de me mettre sur la voie, car ça fait 1 semaine que je galère.

Merci d'avance
 

bond

XLDnaute Occasionnel
Re : Import feuille excel dans fichier excel de travail

Une suggestion de code :
Code:
Sub ToOpen()
Dim NameToOpen
ChDir "C:\" 'chemin
NameToOpen = Application.Dialogs(xlDialogOpen).Show("*201106*.xl*") 'critères fichiers
If NameToOpen = False Then Exit Sub
MsgBox "suite de la Sub"
End Sub
 

philou7168

XLDnaute Nouveau
Re : Import feuille excel dans fichier excel de travail

Ca y est, j'ai trouvé la solution à mon problème.
Je donne donc le code a mettre dans un module et à appeler avec la balise "Call" pour ceux que ca peut intéresser.

Sub Import()
Dim Fichier As Variant
Dim File As Variant
ChDir ThisWorkbook.Path
Fichier = Application.GetOpenFilename("Text Files (*.xlsx), *.xlsx")
If Fichier <> False Then
Workbooks.Open Fichier ' Ouvre le fichier defini dans la ligne 5
File = ActiveWorkbook.Name
Sheet1.Activate ' Active la feuille d'ou doivent être prises les données
Cells.Select ' Defini la Sélection
Selection.Copy ' Copie la sélection
Windows ("fichierdestination.xlsm").Activate ' Active le fichier de travail
Sheet1.Activate ' Active la feuille de destination
Cells.Select ' Selectionne les cellules de destination
ActiveSheet.Paste ' Colle les données
Windows(File).Close ' Ferme la fenêtre des données sources
Endif​
End sub

Si quelqu'un trouve le moyen de simplifier, je suis preneur.
Merci pour les aides qui m'ont mises sur la voie.
 
Dernière édition:

Discussions similaires

M
Réponses
9
Affichages
513
Maikales
M

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz