Importer une feuille excel

spouich -  
 spouich -
Bonjour,

J'ai une application ".xls" en deux parties :
-Un fichier "gestion.xls" contient le programme, les userforms, les paramètres;
-Un fichier "bdd.xls" contient la base de données.

Je voudrais qu'à l'ouverture de "gestion.xls", le programme importe le fichier "bdd.xls" et copie les données pour être gérées par le programme.
Pour être clair :
-"Gestion.xls" contient plusieurs feuilles :
:: "Internal" pour les paramètres internes (chemin d'accès, etc)
:: "External" pour les données que je souhaite importer
:: "Work" pour les calculs excel standard
-"bdd.xls" contient une seule feuille :
::"Base" qui contient toutes les données.

Autrement dit, tout en vulgarisant complètement le langage, à l'ouverture du programme principal, je voudrais un truc du genre :

'Ceci est complètement vulgarisé
open workbook "c:\DATABASE\bdd.xls"
sheets("bdd.Base").range("A1:IV65535").copy
sheets("Gestion.External").range("A1").paste


Voilà, je sais très bien que ce code va tout faire planter, mais c'est juste pour donner l'idée de ce que je cherche. Autrement dit un code qui tient en moins de 10 lignes, facile à comprendre, et qui donne du résultat...

Pouvez-vous m'aider ?
Merci d'avance.
A voir également:

1 réponse

Yoda
 
Salut spouich

Avec le mode enregistrement de macros et quelques retouches voila ce que ça donne

Code à placer dans un module de gestion.xls
Sub Importer_BDD()
'
Application.ScreenUpdating = False
Windows("gestion.xls").Activate
Sheets("External").Select
Cells.Select
Selection.ClearContents
Range("A1").Select
Workbooks.Open Filename:="c:\DATABASE\bdd.xls"
Sheets("Base").Select
Cells.Select
Selection.Copy
Windows("gestion.xls").Activate
ActiveSheet.Paste
Range("A1").Select
Windows("bdd.xls").Activate
Application.DisplayAlerts = False
ActiveWindow.Close
Application.ScreenUpdating = True
End Sub


Et si tu veux que la macro s'exécute automatiquement à l'ouverture de gestion.xls, placer ce code dans ThisWorkbook
Private Sub Workbook_Open()
Importer_BDD
End Sub
0
spouich
 
Yeeees ! Parfaitement ce que je recherchais, merci beaucoup.
Je l'ai adapté à mon appli, ça marche exactement comme je le souhaitais !
Maintenant, je n'ai plus qu'à le bidouiller pour inverser le transfert quand je souhaite 'exporter' la base de données :)

Merci beaucoup.
0