Bonjour tout le monde,
premier post et merci de votre aide deja trouvee sur le forum!
Ma question est la suivante:
-j'ai une grosse proc vb tournant sous excel. grosso modo, je dois la demarrer au lancement de ma feuille car elle charge des array de grosse taille en memoire auxquels je dois pouvoir acceder n'importe quand.
ensuite cette procedure effectue des calculs a partir de valeurs qu'elle recupere dans ma feuille excel, ainsi qu'a partir des arrays charges en memoire.
Ce que je voudrais, c'est pouvoir :
-lancer la macro qui commence par charger mes donnees
-et ensuite, que ma macro teste si les valeurs des cellules changent dans ma feuille, et qu'elle refasse les calculs si les valeurs changent.
il faut donc que durant l'execution, l'utilisateur aie la main!
tentatives:
1) en utilisant le Worksheet_Change Event, mais je vois pas comment m'en sortir car je veux pas declencher une proc mais un calcul au sein meme d'une proc
2) en utilisant DoEvents avec une boucle DO .. Looop ?
Mais la mes resultats de calcul deviennent incoherents.
Une idee quelqu'un?
Grand merci,
Francois.
EXEMPLE : je voudrais un truc du genre
d = Worksheets("Modele").Cells(1, 2)
Load() 'proc qui charge mes donnees en memoire
MsgBox ("Initialisation Completed")
Do
d2 = Worksheets("Modele2").Cells(1, 2) 'c'est la cellule testee
If d2 <> d Then 'si la valeur change alors on fait mafonction
mafonction(d2)
d = d2
End If
Loop
sauf que ca ca marche pas car VB tourne et on a pas la main pour entrer les donnes sous excel.
Merci!