Bonjour,
Je vais commencer par m'excuser parce que je vais avoir du mal a être clair sur mon besoin, je vais faire au mieux.
Voici la situation :
- J'ai une feuille1 avec une macro 1. Cette feuille permet de saisir un certain nombre de champs et la macro permet de vérifier la saisie et de l'intégrer dans un onglet base de données (feuille 3).
- J'ai une feuille2 avec un macro 2. Cette feuille permet de consulter les occurrences de la base de données. La macro 2 permet de modifier une saisie.
- J'ai une feuille3 qui correspond à la liste de mes occurrences (base de données)
Ma problématique est la suivante : l'utilisateur est sur la feuille2, il veut modifier une saisie, il lance la macro2. La macro fait un ensemble de vérification d'usage et si tout est ok, elle oriente l'utilisateur sur la feuille1, elle initialise l'ensemble des champs et redonne la main à l'utilisateur. La macro2 supprime également l’occurrence dans la base de données.
L'utilisateur est donc sur la feuille1 et modifie ce qu'il a à modifier et il valide. Ça relance la macro1 et on crée une nouvelle occurrence dans la base de données.
Mais, il y a bien un "mais", j'ai un cas que je ne gère pas le fait que l'utilisateur n'aille pas au bout de la démarche et ne valide pas la modification. J'illustre ce point pas un exemple :
- L'utilisateur est sur le feuille2, il sélectionne une ligne et demande la modification
- La macro2 a supprimé la ligne dans la BDD
- L'utilisateur se retrouve automatiquement sur la feuille1 avec l'ensemble des champs préinitialisés
- Pour une raison x ou y, il ne modifie pas sa saisie et surtout il ne la valide pas (il ferme le classeur, il retourne sur la feuille2...)
- Dans ce cas : j'ai supprimé la ligne de ma BDD et l'utilisateur n'a pas recréé sa ligne
Du coup, je cherche un moyen pour que la suppression dans la BDD soit suspendue au fait que l'utilisateur valide la modification.
D'un point de vue langage VBA, je voudrais que la macro2 se mette en pause, redonne la main à l'utilisateur et si l'utilsiateur lance la macro1, la macro2 se relance et termine ses actions (suppression dans la BDD).
Désolé c'est un peu long mais je souhaitait être clair.
Merci pour votre aide.
Partager