Contrôler le résultat d'une opération

Bonjour,

Soit le code suivant...

Sub test()
...
FileCopy wordModele, wordDestination
...
End Sub

Comment contrôler que la copie a eu lieu ? L'idée est d'afficher un message de confirmation à la fin du processus.

En Php (!), on peut utiliser...

copie = FALSE;
if (copy($file, $newfile)) {
    copie = TRUE;
}

Or, je ne trouve pas le moyen d'utiliser une méthode proche avec Vba.

Mille mercis.

V.

Bonjour

peut-etre utiliser un dir après et exploiter le résultat de ce DIR

retour = dir(wordDestination)

si retour ="" c'est que le fichier n'existe pas..

Fred

bonjour,

une autre proposition

si la copie n'a pas fonctionné, tu recevras un message d'erreur vba. sauf si dans ton code tu as une instruction "on error resume next" qui signife passer à l'instruction suivante en cas d'erreur.

voici comment faire concrètement (par exemple)

On Error Resume Next
FileCopy "A.test", "b.test"
If Err <> 0 Then MsgBox "une erreur est survenue lors de la copie : erreur " & Err & Error(Err)
On Error GoTo 0

D'une façon générale, ma découverte de Vba est frustrante, car il me semble difficile de gérer succès ("TRUE") et échecs ("FALSE") au cours d'un traitement de quelques dizaines de lignes. Je ne conçois pas qu'un utilisateur lambda soit confronté à des messages d'erreurs en Vba à la formulation hermétique. Peut-être me trompé-je.

Les deux solutions fonctionnent. Merci.

@fred2406 Solution simple à utiliser, frugale.

@ h2so4 Solution plus complexe mais portable à d'autres traitements.

Avec encore toute ma gratitude.

V.

@h2so4 Grâce à toi, j'ai découvert comment intercepter les erreurs et les personnaliser avec des étiquettes : c'est moins *sulfureux* que je ne l'imaginais. Fin du Post Scriptum

Rechercher des sujets similaires à "controler resultat operation"