Bonjour à tous et toutes,
Mon problème tourne autour de ce que j'ai pu voir comme étant plus que "récurant" dans la cohabitation entre le "UNDO" et les macros.
Donc, après plusieurs longues heures de recherches internet, je pense qu'en fait il me faudrait plutôt un œil "neuf".
Voilà ma problématique :
- J'extrais une table DBB Access via VB6 dans une feuille Excel 2003.
- L'utilisateur modifie une ligne (une cellule ou un ensemble de cellules qui ne sont pas vides).
- Je remonte la ligne comme étant un enregistrement toujours via mon code VB6.
Mais voilà, la taille de la table est énorme et j'ai besoin d'identifier la ligne (voire le champ, ou cellule) modifiée pour mon import sinon, j'ai testé qu'il faut près de 8 min (!!!) pour relire toute la feuille, faire les tests de cohérence et modifier la BDD.
Simple, voire très simple, vu comme ça. Mais un impératif, il faut que même si l'utilisateur modifie 100 cellules, ou fait un copier/coller de 200 lignes, il puisse toujours accéder au Ctrl+Z.
J'ai exploré :
- Macro qui met un 1 dans une cellule en bout de ligne.
- MFC statique ou générée par Macro.
- Différents évènements où placer du code.
Info sup: le programme VB6 est coupé peut-être plusieurs jours pendant la modification Excel, donc pas possible de voir une modif en "temps réel".
Donc toutes idées sur la méthode ou sur, justement, une méthode de classe accessible que je ne connais pas, seront les bienvenues.
Au final, je veux juste mettre un 1 dans une cellule quand on en modifie une autre de la même ligne, ça semble si simple mais ... il faut que je garde le UNDO
Et là je me ...
Une très bonne journée à tous.
Le Fagulf.
Partager