VBA : Dernière ligne d'un autre fichier excel fermé

PhoenixFnX Messages postés 37 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 13 mars 2011 - 13 mars 2011 à 12:47
rv83toulon Messages postés 68 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 25 avril 2013 - 15 mars 2011 à 08:00
Bonjour,
comme indiqué dans le titre, je cherche à définir la dernière ligne contenant une valeur, dans un fichier fermé, depuis une macro d'un fichier ouvert.
(L'objectif est de faire cela sur un grand nombre de fichiers)

je voulais donc utiliser ExecuteExcel4Macro avec une formule qui me donne cette information.

J'en ai deux mais aucune ne semble marcher avec ExecuteExcel4Macro :
1: GET.DOCUMENT(10)
2: MAX(plage<>""*Ligne(plage))

dans le 1er cas, je ne vois pas comment executer la formule sur un autre classeur.
dans le 2eme cas, je ne vois pas comment entrer la formule comme matricielle dans ExecuteExcel4Macro

Est-il possible d'executer des formules matricielles dans ExecuteExcel4Macro ?


D'avance merci pour vos précieux conseils

--
Nicolas THERY

1 réponse

rv83toulon Messages postés 68 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 25 avril 2013
15 mars 2011 à 08:00
Bonjour,
je cherche à définir la dernière ligne contenant une valeur, dans un fichier fermé, depuis une macro d'un fichier ouvert.
(L'objectif est de faire cela sur un grand nombre de fichiers)
Bon ok.
Quel est la finalité? Que fais-tu lorsque tu as trouvé cette dernière ligne?
Une solution existe via le modèle ADO qui utilise udeux types de connections aux classeurs fermés:
* OLE DB Microsoft Jet.
* OLE DB pour pilotes ODBC.
Mais pour les utiliser il faut que les classeurs soient structurés comme de vraies base de données.

Ou alors dans ta macro tu ouvre et ferme le deuxieme classeur et pendant qu'il est ouvert tu récupère l'info dont tu as besoin. C'est à mon Avis la plus facile à mettre en place et cela reste rapide et passe pratiquement inaperçu.
@+
0
Rejoignez-nous