Bug graphique du classeur suite à la modification d'une feuille
Résolu
RaphCes
-
RaphCes Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
RaphCes Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour Mesdames, Messieurs,
N'ayant pas trouvé de problématiques semblables déjà abordée, je vous expose ici un problème soumis par un collègue, que je rencontre depuis mon poste également, dont je cherche la cause source...
L'opération est simple et se déroule sous Excel 2016 :
1. Une feuille "A", remplie, est dupliquée dans son propre classeur, manuellement (clic-droit, copie etc...). 2. La copie est sélectionnée, puis renommée "B".
3. Sans que les onglets soient tous les deux sélectionnés (j'insiste sur ce point car je pensais au début à une erreur de manipulation de mes collègues occasionnant la même opération sur toutes les feuilles du classeur sélectionnée par inadvertance...) , admettons que je supprime une des lignes dans la feuille "B".
4. La feuille "A" est ensuite sélectionnée. L'onglet est en surbrillance mais le contenu de la feuille est exactement le même que celle de la feuille "B" (la ligne supprimée dans la feuille "B" n'est pas visible dans la feuille "A", donc).
Là ou ça devient très drôle :
Dans la feuille "A", les cellules sont tout à fait sélectionnables, et la ligne supprimée au point 3 "répercutée" sur la feuille "A" contient en réalité la bonne information (celle qu'elle est sensée avoir puisque je n'ai rien supprimé dans la feuille "A"), mais en arrière plan. Je peux donc lire les informations dans la feuille "A" (qui n'apparaissent toutefois pas dans la table), en parcourant la ligne prétendument supprimée cellule par cellule et en lisant l'information (réellement) contenue dans l'interface de saisie...
J'ai codé en VBA un ScreenUpdating forcé à chaque changement de feuille, puis carrément en macro exécutée manuellement, mais rien n'y fait. Le fichier est en réseau, mais lorsqu'il est enregistré (bug inclus), fermé puis ré-ouvert, les feuille "A" et "B" sont revenues à la normale (la ligne supprimée en "B" l'est, mais la ligne existe toujours dans la "A", comme voulu...
Pas d'erreurs à l'ouverture, les lignes "cachées" n'en renvoient pas non-plus... Pas de macro...
Je vous remercie bien chaleureusement par avance pour vos hypothèses sur le problème, je suis à la limite de mes compétences actuelles pour tenter de résoudre ce mystère.
N'ayant pas trouvé de problématiques semblables déjà abordée, je vous expose ici un problème soumis par un collègue, que je rencontre depuis mon poste également, dont je cherche la cause source...
L'opération est simple et se déroule sous Excel 2016 :
1. Une feuille "A", remplie, est dupliquée dans son propre classeur, manuellement (clic-droit, copie etc...). 2. La copie est sélectionnée, puis renommée "B".
3. Sans que les onglets soient tous les deux sélectionnés (j'insiste sur ce point car je pensais au début à une erreur de manipulation de mes collègues occasionnant la même opération sur toutes les feuilles du classeur sélectionnée par inadvertance...) , admettons que je supprime une des lignes dans la feuille "B".
4. La feuille "A" est ensuite sélectionnée. L'onglet est en surbrillance mais le contenu de la feuille est exactement le même que celle de la feuille "B" (la ligne supprimée dans la feuille "B" n'est pas visible dans la feuille "A", donc).
Là ou ça devient très drôle :
Dans la feuille "A", les cellules sont tout à fait sélectionnables, et la ligne supprimée au point 3 "répercutée" sur la feuille "A" contient en réalité la bonne information (celle qu'elle est sensée avoir puisque je n'ai rien supprimé dans la feuille "A"), mais en arrière plan. Je peux donc lire les informations dans la feuille "A" (qui n'apparaissent toutefois pas dans la table), en parcourant la ligne prétendument supprimée cellule par cellule et en lisant l'information (réellement) contenue dans l'interface de saisie...
J'ai codé en VBA un ScreenUpdating forcé à chaque changement de feuille, puis carrément en macro exécutée manuellement, mais rien n'y fait. Le fichier est en réseau, mais lorsqu'il est enregistré (bug inclus), fermé puis ré-ouvert, les feuille "A" et "B" sont revenues à la normale (la ligne supprimée en "B" l'est, mais la ligne existe toujours dans la "A", comme voulu...
Pas d'erreurs à l'ouverture, les lignes "cachées" n'en renvoient pas non-plus... Pas de macro...
Je vous remercie bien chaleureusement par avance pour vos hypothèses sur le problème, je suis à la limite de mes compétences actuelles pour tenter de résoudre ce mystère.
A voir également:
- Bug graphique du classeur suite à la modification d'une feuille
- Suivi de modification word - Guide
- Changer carte graphique - Guide
- Logiciel gratuit modification pdf - Guide
- Bruler une feuille de laurier - Guide
- Comment supprimer une feuille sur word - Guide
1 réponse
Bonjour,
C'est un problème que j'ai eu du mal à résoudre. Il vient du ScreenUpdating=false avec nouvelle interface SDI apparue avec Excel 2013 : L'onglet affiché n'est pas l'onglet actif !!!
Donc tu crois agir sur un onglet et en réalité tu agis sur un autre !
la solution ici : https://forums.commentcamarche.net/forum/affich-33931181-bug-affichage-suite-a-l-execution-du-code#3
C'est un problème que j'ai eu du mal à résoudre. Il vient du ScreenUpdating=false avec nouvelle interface SDI apparue avec Excel 2013 : L'onglet affiché n'est pas l'onglet actif !!!
Donc tu crois agir sur un onglet et en réalité tu agis sur un autre !
la solution ici : https://forums.commentcamarche.net/forum/affich-33931181-bug-affichage-suite-a-l-execution-du-code#3
Malheureusement, la solution ne fonctionne pas chez moi...
Après réflexion, le fichier étant un *.xlsx, à l'ouverture il n'y a aucune macro susceptible de paramétrer le ScreenUpdating en "False". Le problème d'affichage ne survient que lorsqu'une opération est effectuée sur la feuille copiée, et aucune Macro ne se déclenche à un changement (rien dans les Worksheets)...
Est-il possible qu'une macro soit à ce point cachée ? Ou est-ce bel et bien un casse-tête ?
Désolé, j'avais cru qu'il s'agissait d'un fichier avec macro.
Ton problème est très similaire à celui que j'ai eu (et soumis à Microsoft).
Il y a bel et bien un bug d'affichage avec la nouvelle interface SDI :
ce n'est pas l'onglet actif (celui sur lequel les actions sont effectuées) qui est affiché !
Je l'ai constaté avec du VBA lors de la création de classeurs ou de feuilles, mais il ne se produit pas sur toutes les machines : à ce jour je n'ai eu connaissance que de quelques cas.
Par contre, il n'est pas exclu qu'il puisse se produire sur une action manuelle.
A défaut de solution fournie par Microsoft, le DoEvents permet de résoudre le pb avec du VBA. Manuellement, le fait de changer d'onglet permet de retrouver l'affichage de l'onglet activé d'où le retour à la normale.
Tu peux tester si ton PC est sujet au Pb avec ce simple code :
en vérifiant si w2 est affiché à l'issue de la macro.
Quand à cacher une macro : elle pourrait être dans une macro complémentaire mais ce n'est surement pas le cas.
Cdlt
Patrice
Alors, après exécution du code, Excel crée 3 nouveau classeur vides (rien d'anormal jusqu'ici), lorsque l'écran se met à jour, en revanche, le classeur qui s'active est le premier créé, w1 donc, et pas w2...
J'ai vérifié, aucune macro complémentaire dans le fichier n'est activée... Ce qui est étrange c'est que la solution fonctionne très bien pour afficher la bonne feuille (w2) mais, même modifiée, n'a aucune incidence sur les feuilles à l'intérieur d'un classeur, à moins que je m'y prenne mal (mais le code s’exécute sans accroche) :
Et décrire précisément la manipulation qui provoque le bug.
Je vais essayer de le reproduire (et peut-être de trouver une solution).