Bonjour à tous,
Je viens de remarquer le problème suivant sous Excel :
Supposons que nous avons une liste de validation dans la cellule A1.
Supposons également que nous utilisons des procédure événementielles sous vba (par exemple Worksheet_Change ou Worksheet_SelectionChange).
Lorsque nous entrons des données valides dans la cellule A1, tout se passe bien mais si on entre de mauvaises données, Excel propose deux options : réessayer et annuler. Si on clique sur annuler, tout se passe également bien.
Toutefois, si on clique sur réessayer, qu'on fait une erreur à nouveau, qu'on réessaye une nouvelle fois et qu'enfin on réussisse à entrer les bonnes données, l'événement SelectionChange sera exécuté 3 fois et l'événement Change 5 fois alors que normalement ils auraient du être exécutés 1 fois chacun.
J'ai joins un fichier pour exemple. La cellule A1 contient la liste de validation. La cellule B1 augmente de 1 à chaque fois que l'événement SelectionChange est enclenché.
La cellule B1 augmente de 1 à chaque fois que l'événement Change est enclenché.
Vous pouvez essayer ce que j'ai dit en entrant des données non valides en A1 puis en réessayant plusieurs fois grâce au bouton Réessayer. Finissez par entrer des données valides et observez alors l'évolution des cellules B1 et C1.
Voilà, si vous avez une solution à ce problème, je vous en remercie à l'avance,
Youri
Je viens de remarquer le problème suivant sous Excel :
Supposons que nous avons une liste de validation dans la cellule A1.
Supposons également que nous utilisons des procédure événementielles sous vba (par exemple Worksheet_Change ou Worksheet_SelectionChange).
Lorsque nous entrons des données valides dans la cellule A1, tout se passe bien mais si on entre de mauvaises données, Excel propose deux options : réessayer et annuler. Si on clique sur annuler, tout se passe également bien.
Toutefois, si on clique sur réessayer, qu'on fait une erreur à nouveau, qu'on réessaye une nouvelle fois et qu'enfin on réussisse à entrer les bonnes données, l'événement SelectionChange sera exécuté 3 fois et l'événement Change 5 fois alors que normalement ils auraient du être exécutés 1 fois chacun.
J'ai joins un fichier pour exemple. La cellule A1 contient la liste de validation. La cellule B1 augmente de 1 à chaque fois que l'événement SelectionChange est enclenché.
La cellule B1 augmente de 1 à chaque fois que l'événement Change est enclenché.
Vous pouvez essayer ce que j'ai dit en entrant des données non valides en A1 puis en réessayant plusieurs fois grâce au bouton Réessayer. Finissez par entrer des données valides et observez alors l'évolution des cellules B1 et C1.
Voilà, si vous avez une solution à ce problème, je vous en remercie à l'avance,
Youri