Erreur d'exécution 1004

Bonjour à tous.

J'ai un petit souci avec un programme vba que j'ai créé sous Excel.

A un moment donné, j'ai une série de codes qui me permettent de gérer la mise en page de la feuille sur laquelle je travaille. Notamment, je viens forcer le format papier en A3.

Le problème est que mon code fonctionne sur plusieurs postes informatiques, dont le mien, mais sur d'autres postes, je rencontré des erreurs 1004 avec l'indication : "Impossible de définir la propriété PageSize de la classe PageSetup."

Je pense que l'erreur vient d'un paramétrage particulier d'Excel ou des paramètres d'impression sur les postes qui provoquent l'erreur, mais je n'en suis pas sur.

Avez vous déjà rencontré cette erreur ? Si oui, avez vous une solution ?

Merci d'avance.

Onafe57.

Bonjour,

Peut-être que l'imprimante ne permet pas ce réglage...

L'erreur 1004 est une erreur Excel, pas une erreur mettant en cause la syntaxe VBA, donc pas un problème au niveau du code proprement dit mais refus d'Excel d'écuter... Cela peut bien sûr parfois reposer sur la façon dont est codée la commande, souvent lié au contexte dans lequel elle survient, mais s'agissant d'éléments très dépendant du matériel, il me semble que c'est de ce côté là qu'il faut d'abord chercher.

Dans la mesure où cela serait confirmé, une solution pourrait être d'intercepter l'erreur et afficher un message indiquant que le paramétrage en A3 n'a pu être fait à l'intention de l'utilisateur.

Cordialement.

Bonjour.

Cela peut donc provenir d'un paramétrage par défaut sur une imprimante ne permettant pas l'impression A3.

Cela semblerait logique.

Je vais tester cette solution.

Merci de votre réponse.

Cordialement,

Onafe57

Avec une fonction si est erreur, j'ai réussi à contourner l'erreur ... Mais je voulais juste mettre une textbox pour avertir l'utilisateur ... mais je ne me souviens pas du code pour insérer une textbox où l'on doit juste cliquer ok ...

Vous pouvez me le rappeler ?

Merci d'avance !

Onafe57.

Pour intercepter l'erreur et empêcher qu'elle se traduise par un arrêt du programme :

On Error Resume Next  'avant la commande susceptible de déclencher une erreur
===La commande pouvant être en erreur===
If Err.Number <> 0 Then
    MsgBox "Le message de signalisation."
    Err.Clear
End If
On Error GoTo 0  'pour annuler l'action du gestionnaire d'erreurs (qui pourrait masquer d'autre erreurs le cas échéant)

Cordialement.

Rechercher des sujets similaires à "erreur execution 1004"