Problème execution macro n'attends pas la fin de calcul

sebkil28

XLDnaute Nouveau
Bonjour à tous,

Je me prends la tête depuis ce matin sur une macro qui se borne à ne pas attendre la fin d'éxecution de ma comande Application.calculate

Je pensais qu'excel attendrait la fin du calcul (Calcul matricielle pour info) mais la macro continue sont exécution et du coup le résultat que j'attends n'est pas là !

Quelqu'un saurait me dire pourquoi et comment indiquer à excel de finir les calculs avant de continuer ?

extrait de mon code qui est dans un UserForm
Code:
Sub ListBox1_Change()
Set f = Sheets("suivi serie")
Me.ListBox2.Clear
For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) = True Then 'condition : si l'élément est sélectionné
f.Cells(55, 7) = Me.ListBox1.List(i) 'affiche l'élément dans la première cellule vide (colonne O)
End If 'fin de la condition
Next i
' lancement des calculs matricielle
Application.Calculate

' liste câblage par rapport au train selectionné + suppression des doublons

Set mondico = CreateObject("Scripting.Dictionary")
For Each c In f.Range("harn2")
    mondico(c.Value) = ""
Next c
f.[Q1].Resize(mondico.Count, 1) = Application.Transpose(mondico.keys)


' Ajout liste câblage dans listbox2
Dim cel As Range 'déclare la variable cel (CELlule)
 For Each cel In f.Range("harn")
        Me.ListBox2.AddItem cel.Value 'ajoute ;la valeur de la cellule à la ListBox2
    Next cel
f.Range("harn").ClearContents
f.Cells(55, 7).ClearContents
Application.Calculate

' suite de la macro non finalisée
End Sub
 

sebkil28

XLDnaute Nouveau
Re : Problème execution macro n'attends pas la fin de calcul

Merci pour vos réponse je vais tester ça demain.
Je pourrais vous faire parvenir mon fichier au besoin mais il fait 700Kb donc par mail éventuellement.

Je vous tiens au courant.
 

sebkil28

XLDnaute Nouveau
Re : Problème execution macro n'attends pas la fin de calcul

Bonjour,

Ca ne fonctionne pas :(

De ce que j'ai pu observé, lorsque je lance mon calcul avec "Application.Calculate"
dès que je passe à la ligne macro suivante, le calcul s'arrête. Ce n'est donc pas une question de temps de calcul.

J'ai même essayé avec le DoEvents mais lorsque la macro passe à cette ligne, le calcul lancé précédement s'arrête.... On l'observe très bien lorsque que je fais du Pas à Pas, ca marche, mais si je reste appuyé sur F8 ça marche plus.

Y à t-il un moyen autre que de réactiver le calcul automatique sur mon classeur ?

Je sèche et je ne sais plus quoi faire.
 

Discussions similaires

Statistiques des forums

Discussions
312 453
Messages
2 088 553
Membres
103 881
dernier inscrit
malbousquet