Problème avec setLinkOnData

chris_kil

XLDnaute Nouveau
Bonjour à tous,

J'ai un souci avec un fichier Excel créé depuis VB. Ce fichier contient des formules et je souhaite qu'à chaque fois qu'elles renvoient une donnée, un compteur soit incrémenté. Dès que toutes les données sont présentes, je dois retourner dans un programme VB et continuer des traitements.

J'ai essayé de faire une macro qui controle la récupération des données, mais le setLinkOnData n'a pas l'air de fonctionner...

Quelqu'un peut-il m'aider ?

Merci

Code d'appel de VB :

Code:
            Do
               mobjXls.Run "personal.xls!ctlXlsVal.allValOK"
               If xlsSht2.Range("A2").Value = "ok" Then
                  mblnOK = True
               Else
                 Sleep 1000
               End If
            Loop Until mblnOK
.

voici le code de la macro :
Code:
Private Const mstr_MODULENAME          As String = "ctlXlsVal"

Private glngNmbRow                     As Long
Private glngCptUpdCel                  As Long

Public Sub cntLnk()
   
   glngCptUpdCel = glngCptUpdCel + 1
   
   If glngCptUpdCel = glngNmbRow Then
      
     activeworkbook.worksheets(2).range("A2").Value = "ok"
      
   End If
   
End Sub

Public Sub allValOk()
   
   Dim aLinks     As Variant
   
   Dim counter    As Long
   
   glngNmbRow = 0
   
   aLinks = activeworkbook.LinkSources(xlOLELinks)
   If Not IsEmpty(aLinks) Then
      glngNmbRow = UBound(aLinks)
      glngCptUpdCel = 0
      For counter = 1 To UBound(aLinks)
         activeworkbook.SetLinkOnData aLinks(counter), "cntLnk"
      Next counter
   End If
   
End Sub

L'insertion du "ok" dans la cellule de la sheet 2 est sensée me servir pour dire à vb que les données sont toutes là.


Toute aide est la bienvenue.

Merci
 

Discussions similaires

Statistiques des forums

Discussions
312 480
Messages
2 088 756
Membres
103 947
dernier inscrit
Quentin_sf