Erreur en fin de boucle ? - VB/VBA/VBS - Programmation
Marsh Posté le 07-11-2018 à 14:44:27
Le fichier "Entry_Form_...." est le résultat d'une concaténation entre "Entry_Form_" et "ID4656" (par exemple).
La boucle comprends 28 valeurs. La première se nomme ID4656 et la dernière ID2343.
ID4656
..
...
...
...
...
ID2343
La boucle se déroule correctement jusqu'à la 28ème mais par contre j'ai le message à la 29ème ...
Cdlt.
Jérôme.
Marsh Posté le 07-11-2018 à 16:25:29
Bonjour,
Changer la condition :
Code :
|
Par :
Code :
|
Prendre le cas avec une seule ligne pour comprendre. Le .Count vaut 1 et i vaut 0, or tu n'as qu'un seul tour de boucle à effectuer.
Marsh Posté le 07-11-2018 à 17:39:59
Sinon, même remarque que sur un de tes autres sujets. Éviter les .activate qui vont ralentir ton script. Les .select et .activate, généralement tu dois en avoir max 1 par macro, c'est celui qui indique ce que tu veux qui soit activé et/ou sélectionné après l’exécution de la macro.
Privilégier l'utilisation de With ou passer directement l'objet ou range dans la ligne d'exécution, par exemple, ligne 56 à 61 :
Code :
|
Je ne connais pas vraiment l'objet Windows, il ne me semble pas approprié au contexte mais sinon ça devrait donner :
Code :
|
Et avec un "With" par exemple pour la ligne 89 à 111 :
Code :
|
Marsh Posté le 07-11-2018 à 17:47:30
Merci beaucoup pour tous ces conseils. Il va falloir que je les digère et me les approprient.
Marsh Posté le 07-11-2018 à 18:00:01
licpegpon a écrit :
|
J'espère juste que ce n'est pas toi qui gère les tests d'IA de Airbus ou que du moins ce n'est pas pour de la navigation, sinon je vais rester sur le plancher des vaches.
Bon je taquine, je ne sais pas si ça existe des experts VBA, comme beaucoup de monde je trifouille ça en complément d'Excel pour du traitement de données à petite échelle.
Marsh Posté le 07-11-2018 à 14:17:33
Bonjour,
Dans la macro ci-jointe j'ai en fin de boucle le message d'erreur suivant :
Nous sommes désolés mais « P:\ENGINEERING\Entry_Form_.xlsm » est introuvable. Peut-être a-t-il été déplacé, renommé ou supprimé ?
Pouvez-vous m'indiquer la correction à effectuer ? Merci par avance.
Cdlt.
Jérôme.