[Excel VBA] Identification des cellules impactées par un recalcul

Identification des cellules impactées par un recalcul [Excel VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 29-09-2005 à 00:26:08    

Bonsoir et Bonjour le forum,
 
Je cherche le moyen d'obtenir les références des cellules impactées par un recalcul ; par exemple, lorsque l'on modifie une zone sachant que cette zone est associée à une formule dont le résultat figure dans une autre zone. Après modification de la 1ère zone et l'exécution de l'instruction Application.CalculateFull, la formule dans la 2nde zone se trouve recalculée. Et bien, c'est l'adresse de cette zone recalculére que je cherche à obtenir (dans laquelle figure l'adresse de ma zone modifiée). Alors, fantasme ou réalité ? En tout cas, Excel doit bien stocker l'info sous une forme ou une autre.... la notion de dépendance en fait, bref si c'est clair pour vous n'hésitez pas aidez-moi à y voir clair.

Reply

Marsh Posté le 29-09-2005 à 00:26:08   

Reply

Marsh Posté le 29-09-2005 à 08:49:30    

Une référence qui devrait pouvoir t'aider:
 
http://www.er.uqam.ca/merlin/xw999 [...] xlsysaudit


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 02-10-2005 à 04:53:22    

Bonsoir et Bonjour le forum, Alain,
 
Merci Alain, ça m'a été effectivement profitable, j'ai trouvé la bonne syntaxe pour identifier les dépendances ; en fait, j'ai opté pour une boucle dans le Sub Worksheet_Change comme suit :  
 
Dim c As Range  
 
For Each c In Target.Dependents  
 
'traitement des cellules dont le recalcul dépend de la valeur  
'de la cellule modifiée (Target.value)  
 
Next c  
 
Le hic c'est que je dois absolument ordonner les adresses des cellules du Target.Dependents en fonction de leur indice de ligne avant de les soumettre au traitement ; Cela veut dire que la ligne 30 doit être traitée avant la ligne 70 sinon l'astuce tombe à l'eau. Et... je sais pas comment faire avec For Each, ni même avec une boucle For classique. J'ai fais plusieurs tentatives sans succès. Si tu avais une idée sur la manière de procéder ce serait réellement providentiel, mon projet est presque abouti et n'a plus trop en commun avec le classeur super boggué que je t'avais addressé...  
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed