Définir paramètre impression longueur imprimante BROTHER

Bien le bonjour à tous,

Est-il possible de définir des paramètres par défauts sur une imprimante brother?

Je m'explique : j'ai des fichiers excel pour imprimer des étiquettes via une imprimante brother P950NW.

Tout fonctionne parfaitement mais pas chez tout le monde ! Chez certains les paramètres qui sont rentrés dans l'imprimantes sautes.

Exemple : la longueur d'impression qui est de 37mm passe des fois à 36mm (oui 1 mm c'est rien, ben si car sa me fait imprimer 2 étiquettes)

Voici l'interface de brother, savez vous si il est possible de verrouiller avec un vba la longueur d'impression ?

image

Mon code à l'heure actuelle : (Il y a une incrémentation sur une cellule c'est pour le numéro de certificat)

Sub Impression()
Do
Range("G6") = Range("G6") - 1

         ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
Sheets("Base").Range("C4").Value = Sheets("Base").Range("C4").Value + 1
Loop Until Range("G6") = 0
    Range("G6").Select
    ActiveCell.FormulaR1C1 = "=1"

End Sub

Merci d'avance vous êtes bon !

Edit j'ai rajouté mon fichier en PJ ;)

Bonjour,

Utilisez l'enregistreur automatique de macro et faite le réglage via l'aperçu avant impression, cela devrait vous donner un code VBA que vous devriez pouvoir réutiliser.

Sinon votre code posté,
1. vous pouvez expliquer le processus d'impression ?
2. Le code est exécuté depuis la feuille Impression 1 etiquette ?

Cordialement

Bonjour,

J'ai essayé l'enregistreur automatique, de modifier la valeur de la longueur et il ne prend pas en compte ma modification dans le code :

Sub Macro14()

    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
End Sub

Le processus de l'impression :

La personne clique sur le dessin de l'imprimante cela lance la macro "Impression"

Sub Impression()
Do
'il lance une boucle en faisait -1 sur la cellule G6, la cellule G6 est le nombre d'étiquette que veut sortir la personne"
Range("G6") = Range("G6") - 1
'Il lance l'impressions'
         ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
'Il fait +1 sur ne numéro de rapport de la feuille "Base"'
Sheets("Base").Range("C4").Value = Sheets("Base").Range("C4").Value + 1
'Fin de la boucle si G6 = 0'
Loop Until Range("G6") = 0
'il sélectionne G6 et lui attribut la valeur 1, c'est une sécurité sinon les personnes ne penseront pas tout le temps à mettre 1 sur cette cellule'
    Range("G6").Select
    ActiveCell.FormulaR1C1 = "=1"

End Sub

J'ai essayé l'enregistreur automatique, de modifier la valeur de la longueur et il ne prend pas en compte ma modification dans le code

Le code que vous avez ne sert pas
Je vous ai écrit d'utiliser l'aperçu avant impression et de faire les réglages là bas
Une fois fait vous ne devez pas lancer l'impression mais revenir sur Accueil et aller sur l'onglet developpeur pour arreter le code.

Ensuite allez voir dans l'éditeur VBA ce que vous avez généré comme code


Votre code impression comme ceci

Sub Impression()
Dim i As Byte

With ActiveSheet
    For i = 1 To .Range("G6")
        .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
        Sheets("Base").Range("C4").Value = Sheets("Base").Range("C4").Value + 1
    Next i
    .Range("G6") = 1
End With
End Sub

Je ne peux pas accéder a l'aperçu avant impression, je ne vois pas ou??

J'ai uniquement ca :

image

C'est cela l'aperçu

Dans cette fenêtre vous pouvez modifier une ou deux paramètres puis les remettre en place après
Bref modifiez quelque chose, puis retournez dans l'onglet développeur pour arrêter le code
Après vous verrez ce qu'excel VBA a généré

Sa ne fait strictement rien dans la macro. VBA n'a rien généré j'ai changé tout les paramètres...

Je ne pense que vous avez changé les marges par exemple car dans votre problème c'est surtout cela qui ne fonctionne pas

Le code, je viens de le refaire :

Sub Macro16()
'
' Macro16 Macro
'

'
End Sub

Screen avant la modification :

image

Apres modification :

image

Je ne vous ai pas dit de changer dans la propriété imprimante mais dans les paramètres de l'aperçu excel
Là comme vous faites excel ne va jamais modifier quoi que ce soit.

Votre vue ici --> https://forum.excel-pratique.com/s/goto/1158793

Changez vos marges personnalisées surtout


Edit :
une fois dans l'aperçu cliquez sur Mise en page et modifiez les marges.
Ensuite vous avez un bouton OPTION en dessous à droite qui vous envoie sur l'imprimante. Essayez aussi en modifiant par ce coté là

Ok je n'avais pas compris désolé !

J'ai modifier uniquement la taille du papier :

Passage de 18 à 24

image
Sub Macro21()
'
' Macro21 Macro
'

'
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
    End With
    Application.PrintCommunication = True
    ActiveSheet.PageSetup.PrintArea = "$A$1:$C$5"
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(3.93700787401575E-03)
        .RightMargin = Application.InchesToPoints(3.93700787401575E-03)
        .TopMargin = Application.InchesToPoints(3.93700787401575E-03)
        .BottomMargin = Application.InchesToPoints(3.93700787401575E-03)
        .HeaderMargin = Application.InchesToPoints(0)
        .FooterMargin = Application.InchesToPoints(0)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = 360
        .CenterHorizontally = False
        .CenterVertically = False
        .Orientation = xlLandscape
        .Draft = False
        .PaperSize = 261
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = 100
        .PrintErrors = xlPrintErrorsDisplayed
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = True
        .EvenPage.LeftHeader.Text = ""
        .EvenPage.CenterHeader.Text = ""
        .EvenPage.RightHeader.Text = ""
        .EvenPage.LeftFooter.Text = ""
        .EvenPage.CenterFooter.Text = ""
        .EvenPage.RightFooter.Text = ""
        .FirstPage.LeftHeader.Text = ""
        .FirstPage.CenterHeader.Text = ""
        .FirstPage.RightHeader.Text = ""
        .FirstPage.LeftFooter.Text = ""
        .FirstPage.CenterFooter.Text = ""
        .FirstPage.RightFooter.Text = ""
    End With
    Application.PrintCommunication = True
End Sub

Ok. Parfait

Maintenant si vous imprimez avec ces paramètres cela donne quoi ?

Avez-vous essayé aussi comme je vous ai expliqué dans l'EDIT de mon post précédent

Rechercher des sujets similaires à "definir parametre impression longueur imprimante brother"