IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Code Vba Impression en fonction d'une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Eleveur caprin
    Inscrit en
    Juillet 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Eleveur caprin

    Informations forums :
    Inscription : Juillet 2007
    Messages : 143
    Points : 67
    Points
    67
    Par défaut Code Vba Impression en fonction d'une cellule
    Bonjour,

    J'ai un petit soucis avec mon code. J'ai mon code qui marche très bien pour l'impression en PDF.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Sub IMPRIMER()
     
    Dim i As String
     
    i = "i pas un nombre"
     
    While (IsNumeric(i) = False Or InStr(i, ".") > 0)
    i = InputBox("Combien de copies voulez-vous imprimer ?")
    If i = "" Then
    MsgBox "Impression annulée"
    Exit Sub
    End If
    Wend
     
    If CDbl(i) = 0 Then
    MsgBox "Impression annulée"
    Exit Sub
    End If
     
    Application.Dialogs(xlDialogPrinterSetup).Show 'Pour choisir l'imprimante
     
    With ActiveSheet.PageSetup
        .PrintArea = ("A1:J52")
        .Zoom = False
        .FitToPagesTall = 1
        .FitToPagesWide = 1
    End With
    ActiveSheet.PrintOut copies:=CDbl(i)
     
    End Sub
    Jusque là, pas de problème. Là ou ca devient difficile est que je n'arrive pas à inclure la valeur de la cellule I16 pour imprimer en pdf, j'ai essayé ça mais ça ne m'imprime que le contenu de la page 1 même s'il y a 2 en I16 la zone d'impression est toujours celle de "1":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
        If Range("I16").Value = 1 Then ActiveSheet.PageSetup.PrintArea = "A1:I53"
        If Range("I16").Value = 2 Then ActiveSheet.PageSetup.PrintArea = "A1:I106"
        If Range("I16").Value = 3 Then ActiveSheet.PageSetup.PrintArea = "A1:I158"
     
     Dim NomDossier As String
        Dim CheminDossier As String
        On Error GoTo 1
     
        'Nom de dossier
        NomDossier = Application.InputBox("Dossier Enregistrement :", "Dossier")
        CheminDossier = "H:\COMPTABILITE\Factures VE\" & NomDossier & "\"
        If NomDossier = "" Then Exit Sub
     
        'Enregistrement au format PDF
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        CheminDossier & "Facture - " & Range("G6").Value & ".pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        from:=1, To:=1, OpenAfterPublish:=False
     
    1
            MsgBox "Facture " & Range("G6").Value & " archivée avec succès."
     
    End Sub
    Merci pour votre aide

  2. #2
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Septembre 2019
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Septembre 2019
    Messages : 151
    Points : 185
    Points
    185
    Par défaut
    Bonjour à tous,
    sans faire de tests,
    je vois une petite erreur dans la déclaration en lignes 2,3,4
    il manque les parenthèses de début et de fin

    Nom : print area.jpg
Affichages : 94
Taille : 23,4 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     If Range("I16").Value = 1 Then ActiveSheet.PageSetup.PrintArea = ("A1:I53")
        If Range("I16").Value = 2 Then ActiveSheet.PageSetup.PrintArea = ("A1:I106")
        If Range("I16").Value = 3 Then ActiveSheet.PageSetup.PrintArea = ("A1:I158")

Discussions similaires

  1. Lancer code Vba des la selecion d'une cellule
    Par ThomasVil dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/07/2019, 13h45
  2. Code VBA Figer le temps dans une cellule
    Par Twixman dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/02/2019, 12h11
  3. insérer une fonction dans une cellule par le code
    Par RemiT dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/09/2007, 16h15
  4. [Excel VBA]fonction dans une cellule qui modifie une autre cellule
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/01/2007, 17h43
  5. [VBA-E] Nom et couleur bouton fonction d'une cellule
    Par zouille dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/04/2006, 17h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo