Problème d'affichage lancement macro

Bonjour à tous,

Je rencontre un problème d'affichage sous excel lors de l'utilisation d'une macro.

Je remarque ce soucis d'affichage car une fois la macro utilisée, lors que je clique dans le bandeau "Police" pour changer la couleur d'une cellule, la palette de couleur est transparente et on ne peut pas sélectionner de couleur... C'est un peu bizarre.

J'ai réussi à isoler la macro qui me génère ce bug. Il s'agit d'un bout de code qui permet d'ouvrir un autre onglet, puis de masquer l'onglet sur lequel on était. De façon à ne conserver qu'un seul onglet actif. Voici le code qui est assez simple :

Dim NomFeuille As String
NomFeuille = ActiveSheet.Name

Worksheets("Sommaire").Visible = True
Worksheets("Sommaire").Select
Sheets(NomFeuille).Visible = False

Quelqu'un aurait une idée d'où viendrait le bug ou du moins comment éviter qu'il ne se produise ?

Merci beaucoup !

Bonjour

Dans ce code vous afficher la feuille Sommaire puis vous la cachez ??

Pourquoi faites-vous cela ?

Cordialement

Bonjour,

Non, lorsque je clique sur la macro, je conserve le nom de la feuille sur laquelle je suis :

NomFeuille = ActiveSheet.Name

J'affiche et je sélectionne la feuille sommaire :

Worksheets("Sommaire").Visible = True
Worksheets("Sommaire").Select

Et je rend la première feuille invisible.

Sheets(NomFeuille).Visible = False

Je conserve le nom car cette macro est utilisé pour 7 ou 8 feuilles. A partir de ces feuilles je renvoi vers cette macro pour éviter de réécrire le code à chaque fois en nommant la feuille.

Re

Non. Vous définissez "nomfeuille" comme étant la feuille active

Dans le code vous mettez Worksheets("Sommaire").Select puis Sheets(NomFeuille).Visible = False

A ce moment là, la feuille active est "SOMMAIRE" puisque vous la sélectionnez juste la ligne avant

Faudrait voir tout le code... ou le fichier

Cordialement

Merci pour ce retour.

Mais je persiste

NomFeuille est un variable texte. Quand je lance la macro, je garde en mémoire tout de suite le nom de la feuille (Par exemple "Feuille 1") :

Dim NomFeuille As String
NomFeuille = ActiveSheet.Name

Ensuite seulement je bascule sur la feuille sommaire.

Worksheets("Sommaire").Visible = True
Worksheets("Sommaire").Select

Lorsque je suis sur la feuille sommaire, je demande à ce que la feuille qui porte le nom renvoyé par la variable soit caché. Donc je demande à ce que NomFeuille soit invidible, soit "Feuille 1".

Sheets(NomFeuille).Visible = False

La macro fonctionne en soit. C'est qu'elle génère des problème d'affichage à la suite...

Re

Ok j'ai compris. En gros vous êtes sur une autre feuille en démarrant la macro.

Effectivement votre souci est bizarre.

Combien de feuilles à votre fichier ?

Peut être en voyant tout le code ?

Bonjour,

Il n'y a pas énormément de feuilles (Une dizaine...). Je pense que cela vient de ce code... Mais ce n'est pas si évident que cela...

Est ce que du code Excel Vba peut entraîner des problèmes d'affichage dans le bandeau d'Excel ? Est-ce qu'il y a du code à éviter ?

J'avoue que le problème est particulier et difficile à identifier...

Bonjour

Mettez votre fichier en ligne (sans données confidentielles) ce sera plus facile de voir votre souci

Cordialement

Rechercher des sujets similaires à "probleme affichage lancement macro"