VBA : pb de volumétrie avec la fonction Find (erreur d'automation)

  • Initiateur de la discussion Initiateur de la discussion Swore
  • 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 !

Swore

XLDnaute Nouveau
Bonjour à tous !

J'ai un problème avec mon code et j'ai beau avoir cherché partout je n'ai pas trouvé de solution, j'espère que vous pourrez m'aider...

Le principe : je pars en entrée de la macro d'une colonne où figurent dans chaque cellule des chaines de caractères. Plusieurs milliers de lignes de code dans plusieurs macro s'appellent entre elles pour travailler et convertir chaque chaine en d'autres chaines de caractères.
Les macro travaillent cellule par cellule et c'est là que ça devient étrange.

Si j'ai moins de 150 cellules en entrée tout va bien, les macros convertissent les chaines de caractères une par une et j'ai au fur et à mesure le résultat attendu.
Au delà d'environ 150 cellules en entrée, après un long moment à bosser sans problème avec les résultats attendus qui s'affichent, la macro plante et me ressort le message d'erreur suivant

Erreur d’exécution ‘-2147417848 (80010108)’ :
Erreur Automation
L’objet invoqué s’est déconnecté de ses clients

La partie du code en erreur d'après le débogueur est ce qui suit :
Ce code me sert à localiser une valeur précise (ici la valeur de la variable 'blabla') dans une colonne et sélectionner la cellule contenant cette valeur.

With Columns("E:E")
Set BO = .Find(blabla, LookIn:=xlValues)
BO.Select
End with

Sachant que ce même bout de code passe parfaitement sur près de 150 itérations et qu'ensuite il plante, je ne vois vraiment pas d'où cela vient... A part de la volumétrie évidemment.
Est-ce que quelqu'un aurait une idée pour expliquer et/ou résoudre le problème ou pour arriver au même résultat avec une autre méthode? Merci beaucoup par avance...
 
Re : VBA : pb de volumétrie avec la fonction Find (erreur d'automation)

Bonjour

Travaille avec des arrays (tableaux internes en VBA) : tu récupères l'ensemble des chaines à traiter, tu fais ton travail en mémoire interne avec VBA et tu réinjectes le tout en une seule opération, surtout pas ligne par ligne.
Ce lien n'existe plus
 
- 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

Discussions similaires

Réponses
29
Affichages
300
Réponses
4
Affichages
187
Réponses
1
Affichages
352
Réponses
13
Affichages
133
Réponses
4
Affichages
146
Retour