A la fermeture de mon fichier, j'ai un affichage bizarre lol
Je suis sur la feuille de mon classeur affichage normal :
Quand je ferme mon fichier, j'ai cette affichage :
(uniquement sur les 2 premières lignes les autres restant affichées normalement)
Voici mon code de fermeture :
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.MoveAfterReturn = True
Application.EnableEvents = False
Application.ScreenUpdating = False
ActiveWindow.DisplayZeros = False
Sheets("Repondeurs").Unprotect Password:="Krameri"
Sheets("Repondeurs").Range("ac1") = ""
ClearClipboard1
ActiveWindow.DisplayHeadings = True
With Application
.MoveAfterReturn = True
.MoveAfterReturnDirection = xlToRight
Application.MoveAfterReturnDirection = xlToRight
End With
Trie_Appels
With Application 'plein écran
.WindowState = xlMaximized 'window max
End With
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = False
Application.ScreenUpdating = True
Sheets("A Faire").Select
ActiveWorkbook.Save
If Workbooks.Count = 1 Then Application.Quit Else ThisWorkbook.Close
End Sub
Avez déjà rencontré ce "truc" ? lol
Ce n'est pas gênant et aucune influence sur le fichier et mes feuilles, tout fonctionne bien mais ça "m'énerve " depuis très longtemps.
Bonjour Lionel,
En PJ un essai en reproduisant votre macro.
Evidemment ClearClipboard1 et Trie_Appels sont vides.
Apparemment tout se passe bien à la fermeture. Pouvez vous tester ?
Bonjour Lionel,
En PJ un essai en reproduisant votre macro.
Evidemment ClearClipboard1 et Trie_Appels sont vides.
Apparemment tout se passe bien à la fermeture. Pouvez vous tester ? Regarde la pièce jointe 1156157
Bonjour Lionel,
En PJ un essai en reproduisant votre macro.
Evidemment ClearClipboard1 et Trie_Appels sont vides.
Apparemment tout se passe bien à la fermeture. Pouvez vous tester ? Regarde la pièce jointe 1156157
Re-Bjr
Avec ton fichier = pas de souci...
Je mets ton code dans mon fichier et le problème est tjrs là.
J'ai aussi un beug :
Mais on ne trouve pas, pas de souci : ça "m'énerve grave" lol mais aucune incidence sur le fonctionnement du fichier...
Re,
Si vous avez une erreur sur cette ligne, c'est qu'il y a un souci avec Workbooks.count.
Juste pour voir, testez en supprimant cette ligne et en remplaçant la dernière ligne par Application.Quit.
Est ce que ça marche ?
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.MoveAfterReturn = True
Application.EnableEvents = False
Application.ScreenUpdating = False
ActiveWindow.DisplayZeros = False
Sheets("Repondeurs").Unprotect Password:="Krameri"
Sheets("Repondeurs").Range("ac1") = ""
ClearClipboard1
ActiveWindow.DisplayHeadings = True
With Application
.MoveAfterReturn = True
.MoveAfterReturnDirection = xlToRight
Application.MoveAfterReturnDirection = xlToRight
End With
Trie_Appels
With Application 'plein écran
.WindowState = xlMaximized 'window max
End With
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = False
Application.ScreenUpdating = True
Sheets("A Faire").Select
ActiveWorkbook.Save
Application.Quit
End Sub
Re,
Si vous avez une erreur sur cette ligne, c'est qu'il y a un souci avec Workbooks.count.
Juste pour voir, testez en supprimant cette ligne et en remplaçant la dernière ligne par Application.Quit.
Est ce que ça marche ?
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.MoveAfterReturn = True
Application.EnableEvents = False
Application.ScreenUpdating = False
ActiveWindow.DisplayZeros = False
Sheets("Repondeurs").Unprotect Password:="Krameri"
Sheets("Repondeurs").Range("ac1") = ""
ClearClipboard1
ActiveWindow.DisplayHeadings = True
With Application
.MoveAfterReturn = True
.MoveAfterReturnDirection = xlToRight
Application.MoveAfterReturnDirection = xlToRight
End With
Trie_Appels
With Application 'plein écran
.WindowState = xlMaximized 'window max
End With
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = False
Application.ScreenUpdating = True
Sheets("A Faire").Select
ActiveWorkbook.Save
Application.Quit
End Sub
Merci encore pour le retour
Le code ci-dessus fonctionne sans souci...
Les 2 premières lignes apparaissent tjrs grisées mais ça revient plus vite à l'affichage normal.
C'est déjà une avancée = ça m'énerve moins lol
Donc le souci vient de Workbooks.count, puisque la ligne [A1]=Workbooks.count est correcte, dans l'absolu.
Reste à savoir pourquoi ?
Testez cette macro, vous en aurez le cœur net. Un message vous avertira s'il trouve une erreur.
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.MoveAfterReturn = True
Application.EnableEvents = False
Application.ScreenUpdating = False
ActiveWindow.DisplayZeros = False
Sheets("Repondeurs").Unprotect Password:="Krameri"
Sheets("Repondeurs").Range("ac1") = ""
ClearClipboard1
ActiveWindow.DisplayHeadings = True
With Application
.MoveAfterReturn = True
.MoveAfterReturnDirection = xlToRight
Application.MoveAfterReturnDirection = xlToRight
End With
Trie_Appels
With Application 'plein écran
.WindowState = xlMaximized 'window max
End With
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = False
Application.ScreenUpdating = True
Sheets("A Faire").Select
Erreur = IsError(Workbooks.Count)
ActiveWorkbook.Save
If Erreur = True Then MsgBox = "Erreur sur Workbooks.Count"
If Erreur = True Or Workbooks.Count = 1 Then
Application.Quit
Else
ThisWorkbook.Close
End If
End Sub
Donc le souci vient de Workbooks.count, puisque la ligne [A1]=Workbooks.count est correcte, dans l'absolu.
Reste à savoir pourquoi ?
Testez cette macro, vous en aurez le cœur net. Un message vous avertira s'il trouve une erreur.
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.MoveAfterReturn = True
Application.EnableEvents = False
Application.ScreenUpdating = False
ActiveWindow.DisplayZeros = False
Sheets("Repondeurs").Unprotect Password:="Krameri"
Sheets("Repondeurs").Range("ac1") = ""
ClearClipboard1
ActiveWindow.DisplayHeadings = True
With Application
.MoveAfterReturn = True
.MoveAfterReturnDirection = xlToRight
Application.MoveAfterReturnDirection = xlToRight
End With
Trie_Appels
With Application 'plein écran
.WindowState = xlMaximized 'window max
End With
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = False
Application.ScreenUpdating = True
Sheets("A Faire").Select
Erreur = IsError(Workbooks.Count)
ActiveWorkbook.Save
If Erreur = True Then MsgBox = "Erreur sur Workbooks.Count"
If Erreur = True Or Workbooks.Count = 1 Then
Application.Quit
Else
ThisWorkbook.Close
End If
End Sub
J'y avait pensé mais pour être certain de reproduite le "phénomène" lol", il faudrait que je joigne mon fichier de travail.
Ca va être long d'anosmiser tout ca. Je verrai si j'ai du temps ce soir.
Sinon, je le ferai ce WE