Pour lancer la macro, il faut ouvrir une des mises à plat contenue dans le dossier à mettre à jour, n'importe laquelle, cela permet à la macro de détecter le dossier de travail. Et ensuite lancer la macro.
La macro va ouvrir chaque fichier un par un, éditer l'opération d'insertion s'il y a une erreur, valider l'opération, enregistrer et fermer le fichier.
Pour que la macro fonctionne, et comme on ne peut pas directement éditer une opération avec l'automation, il faut ajouter un raccourci clavier "Ctrl+L" à la commande "Editer erreur..." Ensuite, il faut ouvrir un des fichiers contenu dans le dosssier à mettre à jour. Pour ceux intéressé par le code, c'est assez basique, j'ai mis l'essentiel. C'est du SendKeys avec des tempos.
Code : Tout sélectionner
var Dcs = Ts.Documents;
var idDoc = Dcs.GetDocument(objId);
Dcs.Open(ref idDoc);
if (Dcs.IsInvalid(idDoc))
{
SendKeys.SendWait("^(l)");
Thread.Sleep(2000);
SendKeys.SendWait("{ENTER}");
Thread.Sleep(1500);
Dcs.Save(idDoc);
Thread.Sleep(500);
}
Dcs.Close(Dcs.EditedDocument, false, false);