Bonjour,
je cherche à ouvrir un fichier excel depuis word pour réaliser des transfert de données (donc la macro part de word!).
Aucun souci pour ouvrir un fichier excel, pour le balayer et pour transférer les données.

Par contre, j'aimerais insérer, dans mon code, une vérification qui consisterait à contrôler si le fichier à ouvrir est déjà ouvert ou non (sachant que le fichier à ouvrir est défini par l'utilisateur via une boite de dialogue).

j'étais parti sur la piste suivante (j'ai pas recopié toutes les déclarations mais bon l'idée est là):

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
Dim fichier_deja_ouvert As Boolean
fichier_deja_ouvert = True
 
set xlapp=createobject("excel.application")
for j=1 to xlapp.workbooks.count
    if xlapp(j).workbooks.name=nom_fichier_selectionne then
        xlapp.workbooks(nom_fichier_selectionnee).activate
        fichier_deja_ouvert=true
        exit for
    end if
next j
 
if fichier_deja_ouvert=false then
    set xlbook=xlapp.workbooks.open(nomfichier_select)
end if
Bon, ces lignes là, ben ça marche pas... le count renvoie toujours 0...
je crois que ce qui se passe c'est que j'ouvre une instance excel autre que celle qui contient le fichier déjà ouvert au moment ou je lance la macro...
Mais du coup comment je peux faire pour scanner directement l'instance excel qui contient mon fichier déjà ouvert lors du lancement de ma macro???

Merci pour votre aide!