A voir également:
- Application.displaystatusbar = false
- Excel compter cellule couleur sans vba - Guide
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Find vba - Astuces et Solutions
2 réponses
Bonjour ButteDuLac,
Je n'ai pas le temps de voir tout ton message, mais pour moi,
la seule raison pour laquelle ton Range("C9").Value = "Tout"
ne veut pas marcher est que ta cellule C9 est Verrouillée et
ta feuille Excel protégée => modification interdite !
Pourtant, j'ai bien vu ton instruction DeprotFeuil_ColE_aff
mais est-ce que cette sub déprotège la feuille de ta cellule
C9 et pas une autre feuille ? Bien sûr, c'est évident que si
cette sub est vide ou mal écrite, la feuille de ta cellule C9
restera encore protégée (si elle l'était).
Attention : dans le 2ème code, tu as oublié les guillemets :
Range("C9").Value = Tout
Tu peux abréger ton instruction en : [C9] = "Tout"
Cordialement. :)
Je n'ai pas le temps de voir tout ton message, mais pour moi,
la seule raison pour laquelle ton Range("C9").Value = "Tout"
ne veut pas marcher est que ta cellule C9 est Verrouillée et
ta feuille Excel protégée => modification interdite !
Pourtant, j'ai bien vu ton instruction DeprotFeuil_ColE_aff
mais est-ce que cette sub déprotège la feuille de ta cellule
C9 et pas une autre feuille ? Bien sûr, c'est évident que si
cette sub est vide ou mal écrite, la feuille de ta cellule C9
restera encore protégée (si elle l'était).
Attention : dans le 2ème code, tu as oublié les guillemets :
Range("C9").Value = Tout
Tu peux abréger ton instruction en : [C9] = "Tout"
Cordialement. :)
Première partie résolue (merci à albkan).
Maintenant, reste ceci :
Ensuite, j'ai une macro à la sortie du classeur, qui ressemble à ça :
En général, elle fonctionne bien, mais par intermittence, je ne sais pas pourquoi, il arrive que quand j'ouvre Excel pour un autre classeur, la barre de formules n'est plus là, ou encore d'autres composantes, ou même qu'il soit en plein écran. Ce matin, on m'a informée que c'est arrivée à d'autres personnes (il s'agit d'un registre de documents utilisé par plusieurs employés).
Et à l'occasion, la barre de formule s'affiche, même si on est en plein écran...
Si vous pouvez m'éclairer, ce serait bien apprécié!!! Merci et bonne année!
Maintenant, reste ceci :
Ensuite, j'ai une macro à la sortie du classeur, qui ressemble à ça :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' avant la fermeture
ActiveWindow.DisplayWorkbookTabs = True
Application.DisplayFormulaBar = True
Application.DisplayStatusBar = True
ActiveWindow.DisplayHeadings = True
Application.CommandBars(1).Enabled = True
Application.DisplayFullScreen = False
End Sub
En général, elle fonctionne bien, mais par intermittence, je ne sais pas pourquoi, il arrive que quand j'ouvre Excel pour un autre classeur, la barre de formules n'est plus là, ou encore d'autres composantes, ou même qu'il soit en plein écran. Ce matin, on m'a informée que c'est arrivée à d'autres personnes (il s'agit d'un registre de documents utilisé par plusieurs employés).
Et à l'occasion, la barre de formule s'affiche, même si on est en plein écran...
Si vous pouvez m'éclairer, ce serait bien apprécié!!! Merci et bonne année!
Je crois que tu n'as pas vu mon message #3, si ? Peux-tu confirmer
que ta macro Workbook_BeforeClose(...) est dans ThisWorkBook ?
Et confirmer que tu n'as pas de Application.DisplayAlerts = False
sans remise à True associée ?
Mais il n'y avait pas le code Display.Alert. Je l'avais ajouté pour faire un test, après votre réponse. Je l'ai retirée, car effectivement, aucunement utile dans mon dossier.
Le problème n'est toujours pas résolu! J'espère que quelqu'un trouvera.
J'ai pensé que ça pouvait être l'ordre dans lequel je présente mes commandes. J'ai testé plusieurs combinaisons, plusieurs ordres différents. Toujours un résultat aléatoire...
Le problème n'est toujours pas résolu! J'espère que quelqu'un trouvera.
J'ai pensé que ça pouvait être l'ordre dans lequel je présente mes commandes. J'ai testé plusieurs combinaisons, plusieurs ordres différents. Toujours un résultat aléatoire...
En fait, voici tout le code dans ThisWorkbook (j'ai ajouté un DisplayAlerts, mais ça ne semble rien changer) :
Ce que je remarque, c'est qu'à l'ouverture, ça va en plein écran, mais la barre de formules reste affichée, puis, si je navigue et revient au Menu, la barre de formules disparait, mais ça, ce n'est pas si grave. Le plus agaçant, c'est vraiment qu'à la fermeture, lorsqu'on ouvre par la suite un autre classeur, Excel a conservé les paramètres et que la barre de formules n'est plus là, ou encore les entêtes de lignes et colonnes, ou encore la fenêtre est toute petite (réduite).
Je n'y comprends rien!
Private Sub Workbook_Open()
Sheets("Menu").Activate
ActiveSheet.Protect ("***")
ActiveWindow.DisplayWorkbookTabs = False
Application.DisplayFormulaBar = False
Application.DisplayStatusBar = False
ActiveWindow.DisplayHeadings = False
Application.CommandBars(1).Enabled = False
Application.DisplayFullScreen = True
Application.DisplayAlerts = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' avant la fermeture
ActiveWindow.DisplayWorkbookTabs = True
Application.DisplayFormulaBar = True
Application.DisplayStatusBar = True
ActiveWindow.DisplayHeadings = True
Application.CommandBars(1).Enabled = True
Application.DisplayFullScreen = False
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
a = MsgBox("Voulez-vous réellement sauvegarder" & Chr(10) & "(Si oui, n'oubliez pas de remettre en lecture seule)", vbYesNo)
If a = vbNo Then Cancel = True
End Sub
Ce que je remarque, c'est qu'à l'ouverture, ça va en plein écran, mais la barre de formules reste affichée, puis, si je navigue et revient au Menu, la barre de formules disparait, mais ça, ce n'est pas si grave. Le plus agaçant, c'est vraiment qu'à la fermeture, lorsqu'on ouvre par la suite un autre classeur, Excel a conservé les paramètres et que la barre de formules n'est plus là, ou encore les entêtes de lignes et colonnes, ou encore la fenêtre est toute petite (réduite).
Je n'y comprends rien!
Merci, j'ai pensé que vous diriez ça, mais oui, effectivement, la macro DeprotFeuil_ColE_aff déprotège bien la feuille où cette cellule est active.
J'ai modifié mon code, en attendant. J'ai ajouté quatre lignes, pour chaque ligne j'ai inscrit en colonne B « Vue actuelle : » et en colonne C, le texte associé au bouton. Puis, mon bouton masque les lignes non pertinentes et affiche seulement la ligne associée au bouton.
Mais ça aurait été plus simple de pouvoir écrire simplement dans la cellule C9 ce que je voulais!
Dans mon code, les guillemets étaient là quand je l'ai essayée. C'est juste un oubli quand j'ai copié-collé, car j'ai fait des essais sans les guillemets, au cas où (vu que j'avais vu un exemple sans guillemets sur un autre forum, malgré que je trouvais ça louche!
Par contre, je viens d'essayer avec [C9] = "Tout" et ça fonctionne! Mais essai numéro 2 avec Range("C9").Value = "Tout" et niet! Alors on va prendre le [C9] = "Tout"
Merci!!!!!
Reste maintenant la deuxième partie, si quelqu'un trouve...
Ta sub Workbook_BeforeClose(...) m'a l'air correcte ; aussi, je me dis que
tu ne l'as peut-être pas placée au bon endroit ? Elle ne doit pas être dans
un module tel que Module1, ni dans le code d'une feuille, mais elle doit
être dans ThisWorkbook. Mais si c'est déjà le cas, ce message est inutile,
surtout que tu as indiqué que ça fonctionne bien par intermittence.
À tout hasard : si tu as une autre partie de code où tu as mis :
Application.DisplayAlerts = False, le fait de ne pas le mettre
à True ensuite (après un traitement) => erreurs inattendues.