PrintOut erreur d'exécution 9

Bonjour,

J'ai un classeur avec 2 feuilles; je désire créer un bouton "Imprimer" sur la feuille 1 pour lancer l'impression de la feuille 2. Quand j'utilise l'enregistreur de macros et que je crée un bouton, a fonctionne mais ça imprime la page active.

J'ai donc créer cette macro :

Sub Imprimer()

Sheets("Feuil2").Range("A1:G49").PrintOut

End Sub

que j'affecte à un bouton qui se trouve sur la feuille 1 et là quand je clique sur le bouton → erreur d'exécution 9 : l'indice n'appartient pas à la sélection.

Je précise que j'ai essayé :

  • Sheets("Fiche").Range("A1:G49").PrintOut (Fiche étant le nom de l'onglet de la Feuil2)
  • Worksheet("Feuil2").Range("A1:G49").PrintOut
  • Sheets(Feuil2).Range("A1:G49").PrintOut → erreur d'exécution de type 13 : incompatibilité de type

Bref comment cela se fait-il que a ne fonctionne pas?

Merci

Bonjour,

tu peux essayer ainsi :

Sub Imprimer()

    Application.Dialogs(xlDialogPrinterSetup).Show
    Sheets("Fiche").Range("A1:G49").PrintOut Copies:=1, Collate:=True

End Sub

A plus !

Bonjour,

essaie ainsi :

Sub Imprimer()
    With Worksheets("Feuil2")
        .PageSetup.PrintArea = .Range("A1:G49").Address
        .PrintOut preview:=True
    End With
End Sub

Merci pour ta réponse, cette commande est utile mais ne résolve pas mon problème.

Je cherche à créer un bouton de commande sur la Feuille 1 qui lance l'impression de la Feuille 2.


Merci Jean-Eric mais ça ne fonctionne toujours pas. On est bien d'accord que c'est "Feuil2" à mettre entre parenthèse et pas le nom de l'onglet?

Problème résolu, merci à tous. En fait c'était tout con, j'ai inséré un espace après Fiche, du coupe je devais y faire appel en écrivant ("Fiche ") et pas ("Fiche"). A quoi ça se joue parfois...

Rechercher des sujets similaires à "printout erreur execution"