Effacer de cellules dans des feuilles masquée
Résolu
Mistral_13200
Messages postés
649
Statut
Membre
-
Vaucluse Messages postés 27336 Date d'inscription Statut Contributeur Dernière intervention -
Vaucluse Messages postés 27336 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir,
J’ai encore besoin d’aide…
J’ai un classeur Excel comportant 8 feuilles, dont deux seulement sont visibles simultanément. Une feuille d’« Aide » et une feuille « Menu ». Les feuilles masquées ont un certains nombres de cellules non protégées. Des cellules différentes d’une feuille à une autre. Ces feuilles sont appelées à leur tour lors de l’utilisation du classeur de sorte qu’il n’y ait toujours que deux feuilles visibles en même temps : la feuille appelée et la feuille « Aide », la feuille Menue étant masquée le temps de l’affichage d’une autre feuille.
Afin d’ouvrir toujours ce classeur dans le même état, je souhaite rétablir dans leur état initiale toutes les cellules non protégées de toutes les feuilles masquées lors de la fermeture du classeur à l’aide d’un bouton « Quitter », qui lance une macro VBA. Et c’est là que je coince…
J’arrive à le faire mais en affichant chaque feuille les unes après les autres ce qui se traduit à l’écran par un défilement de feuilles pas du tout esthétique et agressif visuellement.
Quelqu’un aurait-il une idée beaucoup plus « Pro » ?
D’avance merci.
Cordialement.
Mistral
J’ai encore besoin d’aide…
J’ai un classeur Excel comportant 8 feuilles, dont deux seulement sont visibles simultanément. Une feuille d’« Aide » et une feuille « Menu ». Les feuilles masquées ont un certains nombres de cellules non protégées. Des cellules différentes d’une feuille à une autre. Ces feuilles sont appelées à leur tour lors de l’utilisation du classeur de sorte qu’il n’y ait toujours que deux feuilles visibles en même temps : la feuille appelée et la feuille « Aide », la feuille Menue étant masquée le temps de l’affichage d’une autre feuille.
Afin d’ouvrir toujours ce classeur dans le même état, je souhaite rétablir dans leur état initiale toutes les cellules non protégées de toutes les feuilles masquées lors de la fermeture du classeur à l’aide d’un bouton « Quitter », qui lance une macro VBA. Et c’est là que je coince…
J’arrive à le faire mais en affichant chaque feuille les unes après les autres ce qui se traduit à l’écran par un défilement de feuilles pas du tout esthétique et agressif visuellement.
Quelqu’un aurait-il une idée beaucoup plus « Pro » ?
D’avance merci.
Cordialement.
Mistral
A voir également:
- Effacer de cellules dans des feuilles masquée
- Comment faire un livret avec des feuilles a4 - Guide
- Verrouiller des cellules excel - Guide
- Effacer les données de navigation sur android - Guide
- Bruler des feuilles de laurier - Guide
- Somme de plusieurs cellules excel - Guide
4 réponses
Salut,
Ce code par exemple ferme le fichier sans enregistrer, mais si un jour tu dois apporter une modif sur le fichier il ne faudra pas oublier d'enregistrer ton fichier avant de le fermer.
Il est possible d'insérer une inputbox avec deux boutons OUI pour confirmer la fermeture sans enregistrer et NON pour arrêter la prodédure, ou une msgbox qui avertie que le fichier est fermé sans sauvegarde
Sub test()
ActiveWorkbook.Close False
End Sub
Ce code par exemple ferme le fichier sans enregistrer, mais si un jour tu dois apporter une modif sur le fichier il ne faudra pas oublier d'enregistrer ton fichier avant de le fermer.
Il est possible d'insérer une inputbox avec deux boutons OUI pour confirmer la fermeture sans enregistrer et NON pour arrêter la prodédure, ou une msgbox qui avertie que le fichier est fermé sans sauvegarde
Sub test()
ActiveWorkbook.Close False
End Sub
Bonsoir,
Application.ScreenUpdating = False
Rétablir avec =true
eric
Application.ScreenUpdating = False
Rétablir avec =true
eric
Bonjour,
Merci d'avoir pris le temps de me répondre.
Cela correspond bien a ce que je cherche. Quand j'active le bouton "Quitter" je reste sur la feuille active à ce moment là et j'effectue de maniere transparente l'effacement des autres feuilles.
Mais je voudrais être certain d'avoir bien compris l'utilisation de cette instruction.
On désactive le rafraichissement de l'écran puis on le rétablis, c'est bien ça?
En tout cas merci à vous.
Cordialement.
Mistral
Merci d'avoir pris le temps de me répondre.
Cela correspond bien a ce que je cherche. Quand j'active le bouton "Quitter" je reste sur la feuille active à ce moment là et j'effectue de maniere transparente l'effacement des autres feuilles.
Mais je voudrais être certain d'avoir bien compris l'utilisation de cette instruction.
On désactive le rafraichissement de l'écran puis on le rétablis, c'est bien ça?
En tout cas merci à vous.
Cordialement.
Mistral
Merci pour votre réponse mais ce n'est pas exactement ce que je demandais car je me suis probablement mal exprimé.
La fermeture et la sauvegarde du classeur dans son l'état initial fonction parfaitement.
Ce qui me pose problème c'est que pour effacer les différentes feuilles masquées, je les affiche ce qui à pour conséquence de voir les feuilles apparaître les une après les autres. Ce qui n'est visuellement pas acceptable.
De plus sur l'une des feuilles j'ai une procedure "Private Sub Worksheet_Change(ByVal sel As Range)" qui test la saisie d'une valeur dans les cellules d'une colonne, ce qui allonge le temps d'éffacement.
Ce que je souhaiterais c'est que je puisse faire la même chose de façon plus "Pro". Ne pas afficher les feuilles par exemple avant de les effacer et faire en sorte que cela soit rapide.
Y a t il une solution???.
Cordialement
Mistral