Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

NOOOON excel n'a pas planté !!!!!!

  • Initiateur de la discussion Initiateur de la discussion edjo123
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

edjo123

Guest
Bonjour Forum

En fait j'ai un enssemble de macros qui agissent sur les feuilles de mon classeur. Seulement les étapes de l'execution defilaient à l'ecran. Du coup, j'ai encadré chacune de mes macros par
application.screenupdating=false et
application.screenupdating=true.
Cela m'a permis de reduire un peu le temps d'execution mais cependant le temps d'execution est toujours vachement long et un observateur "exterieur" (autre que moi !!!!) de mon ecran pourrait croire qu'excel a planté.

J'aimerais pouvoir afficher un petit message sur la barre de statut ou ailleurs pendant le temps de l'execution pour rassurer les potentiels utilisateurs de mon outil ou encore donner un "signal" que le programme est toujours en train de tourner et qu'il n y a pas plantage.

J'espère que ma question est suffisament claire ?😕😱

Savez vous comment faire SVP?
 
Re : NOOOON excel n'a pas planté !!!!!!

bonjour,
un simple msgbox avec un message du type "Patientez traitement en cours ..." devrait suffire; il sera effacé lors de la mise à jour de l'affichage.
bye
 
Re : NOOOON excel n'a pas planté !!!!!!

Ca ne me satisfait pas

Voila ce que j'ai marqué

Private Sub OptionButton1_Click()

Application.ScreenUpdating = False

Delete_Commandbar
CreatingToolBarMales
e = SimulationSheet(ligM, colM)
f = CockpitSheet(colM, 8)
colM = colM
colF = colF
MsgBox ("patientez traitement en cours")
Application.ScreenUpdating = True

End Sub

Et en fait la msgbox apparaît quand les traitements sont achevés

pas d'autre solutions?
 
Re : NOOOON excel n'a pas planté !!!!!!

Bonjour edjo123 dixit,

Essaie de déplacer ton MsgBox juste après le Private Sub, car, là, tu l'exécutes lorque tout est fini.

Bonne journée.

Jean-Pierre
 
Re : NOOOON excel n'a pas planté !!!!!!

Idem ca marche pas bien
car il suffit que l'utilisateur clique sur ok dans la msgbox pour que celle-ci disparaisse et ce même si les macros tournent encore !!!

Donc....je crains que ca ne résolve pas mon problème
 
Re : NOOOON excel n'a pas planté !!!!!!

Bonjour à vous tous,
Peut être essayer aussi...
parfois on gagne du temps en sautant les calculs
Code:
Application.Calculation = xlCalculationManual
'la macro
Application.Calculation = xlCalculationAutomatic

A+
 
Re : NOOOON excel n'a pas planté !!!!!!

Bonjour,

essaie ainsi :

en début de code :

Code:
oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
Application.StatusBar = "Veuillez Patienter, traitement en cours!"

ton code, puis, en fin de code :

Code:
Application.StatusBar = False
Application.DisplayStatusBar = oldStatusBar
 
Re : NOOOON excel n'a pas planté !!!!!!

@ 13GIBE59

Une solution coe la tienne me conviendrait parfaitement, j'aime bien l'idée de la barre de progression, le problème c'est que ton code de création de cette barre est intimement lié à ta macro et du coup je n'arrive pas à l'adapter

N y a til pas un moyen de créer cette barre de progression "à part"?
 
Re : NOOOON excel n'a pas planté !!!!!!

Il me semble que dans le code :
Code:
Sub LaMacroQuiEstLongue()
'   Traduite de la macro exemple de Jonhn Walkenbach
'   Insère des nombres aléatoires sur la feuille active
    [COLOR=black]Dim Counter As Integer[/COLOR]
[COLOR=black]   Dim RowMax As Integer, ColMax As Integer[/COLOR]
[COLOR=black]   Dim r As Integer, c As Integer[/COLOR]
[COLOR=black]   Dim PourcentageEffectue As Single[/COLOR]
 
[COLOR=blue]   If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub[/COLOR]
[COLOR=blue]   Cells.Clear[/COLOR]
[COLOR=blue]   Counter = 1[/COLOR]
[COLOR=blue]   RowMax = 200[/COLOR]
[COLOR=blue]   ColMax = 25[/COLOR]
[COLOR=blue]   For r = 1 To RowMax[/COLOR]
[COLOR=blue]       For c = 1 To ColMax[/COLOR]
[COLOR=blue]           Cells(r, c) = Int(Rnd * 1000)[/COLOR]
[COLOR=blue]           Counter = Counter + 1[/COLOR]
[COLOR=blue]       Next c[/COLOR]
        PourcentageEffectue = Counter / (RowMax * ColMax)
        PourcentageEffectue = Format(Left(Format(PourcentageEffectue, "0.000"), 4), "#0.00")
        Call UpdateProgress(PourcentageEffectue)
    Next r
    Unload FrmProgression
End Sub
Sub UpdateProgress(PourcentageEffectue)
    With FrmProgression
        .FrameProgress.Caption = Format(PourcentageEffectue, "0%")
        .LabelProgress.Width = PourcentageEffectue * (.FrameProgress.Width - 10)
        .Repaint
    End With
End Sub

tu dois remplacer tout le texte en bleu par le code de ta macro, après avoir copié le userform et le module dans ton fichier, bien sûr.

Je n'ai pas eu le temps de tester chez moi !
 
Re : NOOOON excel n'a pas planté !!!!!!

De rien....

Je referai 17 000 Kms, tiens.....😡

PS, une barre de progression est forcément liée au code, et pour qu'elle s'adapte parfaitement, il faut connaitre le temps de traitement de chaque boucle, en y ajoutant le temps de traitement de la mise à jour.....

Au plaisir....
 
Re : NOOOON excel n'a pas planté !!!!!!

Quelqu'un pourrait il me dire pkoi ce code ne focntionne pas ? En l'occurence il ne m'affiche rien dans la barre d'état

Private Sub OptionButton1_Click()

'Application.ScreenUpdating = False
oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
Application.StatusBar = "Veuillez Patienter, traitement en cours!"



Delete_Commandbar
CreatingToolBarMales
e = SimulationSheet(ligM, colM)
f = CockpitSheet(colM, 8)
colM = colM
colF = colF

Application.StatusBar = False
Application.DisplayStatusBar = oldStatusBar

'Application.ScreenUpdating = True

End Sub
 
Re : NOOOON excel n'a pas planté !!!!!!

@13GIBE59

Ca ne va pas marcher puisque tes variables counter, colmax et rowmax tu les a choisies en fonction de la macro que tu comptes éxecuter derrière

merci neanmoins
 
Re : NOOOON excel n'a pas planté !!!!!!

Bonjour à tous

Edjo (cela me rappele Dylan!).

Il est vrai que ton cas n'est pas simple puisque tu ne nous aides pas beaucoup. Pas le moindre petit bout de fichier.

C'est pas dans l'esprit du forum tout ça.

En plus ce que tu demandes avec est assez complexe a réaliser pusiqu'il faut déjà connaître le temps que vont tourner la ou les macros. Commence déjà par la ensuite ce sera plus simple a développer (comme le dit Hubert que je salue et qui préfère t'aider plutôt que d'aller se baigner🙂).
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…