Bonjour à tous,
Effectivement le titre est quasiment le même que sur le sujet juste avant (par rapport aux dates) mais la demande est bien plus avancée !
Je vous présente mon problème :
J'ai d'un côté un fichier .xlsm qui me sert de mini-database (pas de quoi passer sur Access + personne dans le service ne sait utiliser Access) et d'un autre côté un fichier qui souhaite récupérer les données (via une petite macro sur un bouton) de cette database sans l'ouvrir.
Pour cela j'ai fais des recherches et la connection ADODB ne répondait pas très bien à mes demandes car les boucles vérifier la valeur cellule sont trop complexes.
Voila ce que j'ai repris :
(Ce code est simplifié)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 sub maj() Dim appli As Excel.Application, fichier As Window Set appli = CreateObject("Excel.application") appli.Workbooks.Open myPath 'mypath (string) étant le chemin jusqu'à la database, déjà identifié appli.Visible = False Set fichier = appli.Windows("DATA.xlsm") fichier.Activate 'Requête très simple comme Dim var as integer var = Range("A1") 'je ferme tout fichier.close set appli = Nothing 'je reviens sur le classeur demandeur WorkSheets("Feuil1").Activate Range("A1") = var end sub
En réalité ce code fonctionne uniquement si le classeur actif EST la database.
Dans tous les autres cas, la macro ne me renvoie que des valeurs NULL. (par exemple si j'appuie sur le bouton du classeur demandeur)
Si vous avez une solution pour ce problème ou quelque chose de complétement différent pour faire la même chose, je suis preneur ! (peut être pas ADODB )
Je vous remercie pour votre aide
Partager