Bonjour,
je rencontre un problème que ne sais pas vraiment gérer et qui échappe.
J'ai coder une macro qui applique un traitement à un tableau (30ligne * 2050colonne).
Chaque cellule est observé et suivant la vérification d'un critère, une opération est appliqué (a défaut de fournir le classeur entier qui me prendrai un temps important à anonymiser, voici la ligne de code qui pose problème) :
'Boucle qui applique le critère de cohérence
For RowIndex = LBound(Valeur_Coh, 1) To UBound(Valeur_Coh, 1) 'On boucle de la première à la dernière ligne du tableau -> Fréquence
For ColumnIndex = LBound(Valeur_Coh, 2) To UBound(Valeur_Coh, 2) 'On boucle de la première à la dernière colonne du tableau -> Distance
If Valeur_Coh(RowIndex, ColumnIndex) < Crit_coh Or Valeur_H1(RowIndex, ColumnIndex) = "" Then 'On compare la valeur de cohérence pour cette Fréquence / distance est supérieur au critère de cohérence
Valeur_H1(RowIndex, ColumnIndex) = "" 'Si cette valeur est inférieur au critère de cohérence, la valeur de H1 correspondant est remplacée par une cellule vide
Else: Valeur_H1(RowIndex, ColumnIndex) = Valeur_H1(RowIndex, ColumnIndex) / (2 * Pi * Valeur_BF(RowIndex, 1))
End If
Next
Next
'On remplace les valeurs des tableau par le résultat de la boucle précédente.
Plage_H1.Value = Valeur_H1
Ce traitement est appliqué successivement à un 20aine de tableau.
Voilà le problème :
Lorsque je lance la macro depuis la console VBA, aucun problème, l'opération se fait complément. Mais si je lance par un bouton depuis la feuille excel, alors la boucle ne s'effectue que sur le 13 premières lignes. Et toujours 13 pour tous les tableau. La macro ne s'interrompt pas, elle poursuit aux étapes suivantes du traitement, mais ne travaille que les 13 premières lignes...
Je relance alors depuis la console VBA, et ça ne traite que les 13 première lignes à nouveau. Au bout d'un temps, le lancement depuis la console se remet à fonctionner pour l'ensemble du tableau, sans toutefois toucher au code.
Le déclanchement d'un macro par un bouton est donc susceptible d'impacter le fonctionnement de cette dernière ? Un problème de mémoire peut-être.. ?
J'espère avoir été clair, je vous remercie du temps que vous prendrez pour me lire.
Bien cordialement,