Macro fonctionnant sauf en boucle
Bonjour,
La semaine dernière j'avais publié un post' où je demandais si on pouvais enregistrer un userform en image et la réponse fut négative
J'ai donc décidé de créer une macro qui fasse une capture d'écran totale de la feuille1 où j'ai préparé un petit formulaire grâce à la RECHERCHEV.
Mon problème est que la macro fonctionne si je l’exécute seule, mais dès que je l'intègre en boucle (comme c'est le cas si joint) la macro me fais une capture d'écran uniquement la première fois... étrange d'autant plus qu'en l’exécutant pas à pas avec F8, la capture d'écran s'effectue bien à chaque passage...
Quelqu'un aurait-il une idée pour détecter l'origine du problème ?
En vous remerciant d'avance,
PS : La macro se situe en module 5
Bonjour LORIS01
La semaine dernière j'avais publié un post' où je demandais si on pouvais enregistrer un userform en image et la réponse fut négative
Celui ou ceux qui t'ont répondu ça, sont des "imbéciles"
Ceci dit, pourquoi vouloir enregistrer en image
Userfrom1.PrintFormpermet d'en lancer une impression
Sinon, avec ta dernière idée, inutile de faire une copie d'écran
Voir le fichier corrigé
A+
Bonjour BrunoM45,
pourquoi vouloir enregistrer en image
L'objectif final n'est pas d'imprimer les "fiches" créées mais de les partager en ligne. Le format image permet de le faire simplement sans que l'utilisateur n'est besoin d'enregistrer le fichier puis de l'ouvrir comme c'est la cas avec le format pdf par exemple.
Quoiqu'il en soit, merci beaucoup pour votre réponse cela réponds parfaitement à ma demande.
Seul petit bémol, vous avez enlevé la partie prise par l'appareil photo excel. Or il y est censé avoir une photo de fond sur la partie jaune du fichier (voir ci-joint). Le problème est que la macro capture ne fonctionne plus, du moins elle capture toujours la même chose en plusieurs exemplaires.
Avez-vous une idée ?
PS : ce n'est qu'un détail, mais la qualité d'image enregistrée est assez faible, existe-t-il un moyen d'avoir une meilleurs qualité ?
@+
Monsieur "GrosBrasDonneurDeLeçon" s'étant éclipsé, je te propose ça (en pièce jointe)
J'ai truffé le Code de "DoEvents" dont je e suis pas sur qu'ils sont tous utiles :
Quoi qu'il en soit ça permet sans doute au proc de respirer un peu...
Et le Application.CutCopyMode = False permet de vider le presse papier.
J'ai aussi changé d'image ainsi que la photo parce que le classeur d'origine (et peut-être mes nombreux essais ..) comportait un empilement d'objets image indésirables.
A+
Bonjour Galopin01,
Très sympa de votre part de revenir à mon aide toujours sur la même thématique
Cela marche parfaitement, puis-je savoir pour apprendre à quoi sert l'instruction "DoEvents" ?
En tout cas un grand merci
Bonjour Loris
Quoiqu'il en soit, merci beaucoup pour votre réponse cela réponds parfaitement à ma demande.
Seul petit bémol, vous avez enlevé la partie prise par l'appareil photo excel. Or il y est censé avoir une photo de fond sur la partie jaune du fichier (voir ci-joint). Le problème est que la macro capture ne fonctionne plus, du moins elle capture toujours la même chose en plusieurs
Le code que je t'ai donné, exporte directement la plage définie au format ".JPG" il est donc totalement inutile de faire un snapshot ou alors je n'ai vraiment pas tout compris !?
Voici un exemple des JPG que j'obtiens
PS : ce n'est qu'un détail, mais la qualité d'image enregistrée est assez faible, existe-t-il un moyen d'avoir une meilleurs qualité ?
En zoomant sur la feuille, cela semble donner une meilleure définition
A+
Bonjour Bruno,
Je me suis peut-être mal exprimé
Sans snapshot, j’obtiens comme vous des jpeg différents comme souhaité. Mais je ne peux pas insérer d'image en arrière plan (à la place du carré jaune), c'est pourquoi, je dois mettre en place un snapshot... et votre code qui exporte la plage définie en jpeg exporte dans ce cas toujours la même image, sans changer de référence.
Mais la suggestion de Galopin de truffer le code de "DoEvents", à l'air de résoudre le problème.
Effectivement, en zommant, il y a une petite amélioration de la qualité.
Merci de votre code en tout cas
@+