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
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