OVH Cloud OVH Cloud

Afficher message box d'attente pendant Actualisation données externes Excel

5 réponses
Avatar
JMC92130
Bonjour,

J'ai le code suivant dans un fichier Excel partagé:

Private Sub Workbook_Open()

Sheets("Consolidated View").Select
ActiveSheet.Unprotect "PJYK"
MsgBox ("Synchronisation with GP Cockpit in Progress... "), vbInformation
ActiveWorkbook.RefreshAll
Sheets("Consolidated View").Select
Selection.AutoFilter
ActiveSheet.ListObjects("Table19").Range.AutoFilter Field:=36, Criteria1:="=", VisibleDropDown:=False
ActiveSheet.Protect Password:="PJYK", DrawingObjects:=True, Contents:=True, Scenarios:=True_, AllowFiltering:=True
End Sub

L'idée étant qu'à l'ouverture du fichier, les données externes s'actualisent automatiquement, et qu'un message apparaissent en même temps pour expliquer...

Or avec le code que j'ai actuellement, d'abord le message apparaît, et l'actualisation ne démarre que lorsque l'utilisateur clique sur OK...

Y a-t-il une solution pour que l'actualisation se fasse, et le message apparaissen en même temps? (tâches simultanées).

Pouvez-vous m'aider s'il vous plaît?

Merci d'avance

5 réponses

Avatar
Jacquouille
Bonjour
Je ne pratique pas le grand breton, mais, je vois dans ce code un MSGBOX
.... qui requiert la validation de l'utilisateur.
Essaie de placer une apostrophe (') devant la 3 ° ligne ( 'Msgbox ....).
Cette ligne sera reconnue par Excel comme étant un commentaire et le Msgbox
n'apparaitra plus.
Tu n'auras donc plus besoin de valider.
A tester.

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"JMC92130" a écrit dans le message de groupe de discussion :


Bonjour,

J'ai le code suivant dans un fichier Excel partagé:

Private Sub Workbook_Open()

Sheets("Consolidated View").Select
ActiveSheet.Unprotect "PJYK"
MsgBox ("Synchronisation with GP Cockpit in Progress... "),
vbInformation
ActiveWorkbook.RefreshAll
Sheets("Consolidated View").Select
Selection.AutoFilter
ActiveSheet.ListObjects("Table19").Range.AutoFilter Field:6,
Criteria1:="=",
VisibleDropDown:úlse
ActiveSheet.Protect Password:="PJYK", DrawingObjects:=True,
Contents:=True,
Scenarios:=True_, AllowFiltering:=True
End Sub

L'idée étant qu'à l'ouverture du fichier, les données externes s'actualisent
automatiquement, et qu'un message apparaissent en même temps pour
expliquer...

Or avec le code que j'ai actuellement, d'abord le message apparaît, et
l'actualisation ne démarre que lorsque l'utilisateur clique sur OK...

Y a-t-il une solution pour que l'actualisation se fasse, et le message
apparaissen en même temps? (tâches simultanées).

Pouvez-vous m'aider s'il vous plaît?

Merci d'avance


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Avatar
DanielCo
Bonjour,
C'est un peu discret, tu peux mettre un message dans la barre d'état :

Application.StatusBar = "mise à jour en cours..."

Daniel


Bonjour,

J'ai le code suivant dans un fichier Excel partagé:

Private Sub Workbook_Open()

Sheets("Consolidated View").Select
ActiveSheet.Unprotect "PJYK"
MsgBox ("Synchronisation with GP Cockpit in Progress... "), vbInformation
ActiveWorkbook.RefreshAll
Sheets("Consolidated View").Select
Selection.AutoFilter
ActiveSheet.ListObjects("Table19").Range.AutoFilter Field:6,
Criteria1:="=", VisibleDropDown:úlse
ActiveSheet.Protect Password:="PJYK", DrawingObjects:=True,
Contents:=True, Scenarios:=True_, AllowFiltering:=True
End Sub

L'idée étant qu'à l'ouverture du fichier, les données externes s'actualisent
automatiquement, et qu'un message apparaissent en même temps pour
expliquer...

Or avec le code que j'ai actuellement, d'abord le message apparaît, et
l'actualisation ne démarre que lorsque l'utilisateur clique sur OK...

Y a-t-il une solution pour que l'actualisation se fasse, et le message
apparaissen en même temps? (tâches simultanées).

Pouvez-vous m'aider s'il vous plaît?

Merci d'avance
Avatar
DanielCo
PS. Pour supprimer le message :

Application.StatusBar = False

Daniel


Bonjour,
C'est un peu discret, tu peux mettre un message dans la barre d'état :

Application.StatusBar = "mise à jour en cours..."

Daniel


Bonjour,

J'ai le code suivant dans un fichier Excel partagé:

Private Sub Workbook_Open()

Sheets("Consolidated View").Select
ActiveSheet.Unprotect "PJYK"
MsgBox ("Synchronisation with GP Cockpit in Progress... "),
vbInformation
ActiveWorkbook.RefreshAll
Sheets("Consolidated View").Select
Selection.AutoFilter
ActiveSheet.ListObjects("Table19").Range.AutoFilter Field:6,
Criteria1:="=", VisibleDropDown:úlse
ActiveSheet.Protect Password:="PJYK", DrawingObjects:=True,
Contents:=True, Scenarios:=True_, AllowFiltering:=True
End Sub

L'idée étant qu'à l'ouverture du fichier, les données externes
s'actualisent
automatiquement, et qu'un message apparaissent en même temps pour
expliquer...

Or avec le code que j'ai actuellement, d'abord le message apparaît, et
l'actualisation ne démarre que lorsque l'utilisateur clique sur OK...

Y a-t-il une solution pour que l'actualisation se fasse, et le message
apparaissen en même temps? (tâches simultanées).

Pouvez-vous m'aider s'il vous plaît?

Merci d'avance
Avatar
MichD
Bonjour,

Une autre approche : http://cjoint.com/?DGlnUBoh9h2
Avatar
Fredo P.
Et aussi:
Dans Sheets("Consolidated View") nommez un Shape "Sync"
enregistrez votre classeur et fermer le ouvrez le de nouveau.
l'exemple ici: http://cjoint.com/?0GlpujlsL91
--
Les Rem (') sont la pour l'exemple.
Private Sub Workbook_Open()

Sheets("Consolidated View").Select
' ActiveSheet.Unprotect "PJYK"
ActiveSheet.Shapes("Sync").Visible = True
ActiveSheet.Shapes("Sync").Select
Selection.Text = "Synchronisation with GP Cockpit in Progress..."
[A1].Select
Application.ScreenUpdating = True
For i = 1 To 100000000
Next
'Stop (se servir du stop pour peaufiner la forme du Shape)
' ActiveWorkbook.RefreshAll
' Sheets("Consolidated View").Select
' Selection.AutoFilter
' ActiveSheet.ListObjects("Table19").Range.AutoFilter Field:6,
Criteria1:="=", VisibleDropDown:úlse
' ActiveSheet.Protect Password:="PJYK", DrawingObjects:=True,
Contents:=True, Scenarios:=True_, AllowFiltering:=True
ActiveSheet.Shapes("Sync").Visible = False
End Sub