Re : Fonction vba qui plante
Bonjour Modeste, bonjour Dranreb,
Merci pour vos réponses. La tienne Modeste, est enfin claire comme de l'eau de roche.
Pour comprendre celle de Dranreb, c'est déjà plus compliqué....même si je perçois bien le concept, je ne suis pas encore habitué au vocabulaire ni aux notions de programmation.
Comme je le disais en début de post, je n'y connais absolument rien en vba, et j'essaie d'apprendre. J'ai déjà lu pas mal de choses, mais il y a beaucoup de notions que je ne maîtrise pas, n'étant pas programmeur ou informaticien.
Alors Shape ou boite à images de la boite à outils de contrôle, j'y perds carrément mon latin.
J'étais parti au début sur un fichier de mon cru pour tenter de comprendre comment fonctionnaient les différentes instructions, ainsi que les imbrications. Après quelques heures de galère, je suis parvenu à un résultat pour moi satisfaisant, mais j'ai buté sur cette histoire d'image. Je me suis donc tourné vers vous.
Cette macro, je l'ai copiée d'un autre fichier effectué il y 4 ans, avec plusieurs macros, comme impression couleur et noire et blanc cherchant l'imprimante par défaut, etc, qui fonctionnent. Je me dis que ça tient du miracle car ça fonctionne parfaitement, alors que je comprenais encore moins le vba à l'époque. J'avais trouvé plusieurs bouts de code et utilisé allègrement l'enregistreur, tout ça sous 2003.
Je vous joins donc le fichier avec la modification apportée par Modeste, ainsi que la version de mon fichier de travail initial, ou en attendant vos réponses j'avais réussi à obtenir un résultat en remplaçant la fonction Shape (parle t'on bien de fonction d'ailleurs ?) par DrawingObjects.
Je vous laisse ces deux fichiers afin de voir le code, et peut être pourrez vous m'aider à simplifier le code sur le fichier nommé Fichier Test VBA et me dire ce que vous en pensez, peut être y a t-il des erreurs grossières.
Par ailleurs, j'ai du mal à trouver les renseignements sur les endroits où il faut écrire le code, pourquoi à un moment dans un module, une autre fois dans une feuille, etc.
Si tout cela vous paraît simple, c'est un peu ardu pour un néophyte.
Merci encore pour votre aide et à très bientôt.