Bonjour,
J'ai un soucis concernant la copie de donnée d'Excel vers Word :
J'ai une fonction qui génère un document Word via le contenu de cellule Excel. Cette fonction copie donc un nombre indéterminé de cellule une par une puis les colle dans mon document Word.
Voici à quoi ressemble la copie d'une cellule (je fais ça avec plusieurs cellules par itération)
S étant la Selection de mon objet Word.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ThisWorkbook.Worksheets("Feuille").Range("F" & i).Copy S.PasteExcelTable False, True, False
Cela fonctionne donc, pour un petit nombre de cellule, cependant s'il y a beaucoup de cellule à copier (ce qui va être toujours le cas) cette fonction ne fonctionne pas et me renvoie l'erreur 4198 : La commande à échoué.
Ainsi, ma fonction va, à des moments aléatoires planter, en effet elle peut s'arrêter dès le premier collage comme au 159e.
Le soucis est que l'erreur ne se situe jamais au même endroit, mais c'est toujours sur une ligne du type S.PasteExcelTable False, True, False
J'ai donc essayé de nombreuses méthodes que j'ai pu trouver sur différent forum (dont celui-ci :p) telles que :
-Affecter la Selection à une variable (comme dans mon exemple)
-Vider le presse Papier après chaque copie
-Tester si le contenu du presse papier est vide (je ne rentré jamais dans un de ces test, je les ai donc retirés, mon presse papier contenant toujours ce qu'il fallait)
-Faire un Undo.Clear
-Sauvegarder le document Word à chaque itération
(sources : https://www.developpez.net/forums/d1...de-non-valide/
https://social.msdn.microsoft.com/Fo...led?forum=vsto)
Avez-vous des idées ? Je suis vraiment à court
Merci et bonne journée
Partager