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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Eleveur caprin
    Inscrit en
    Juillet 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Eleveur caprin

    Informations forums :
    Inscription : Juillet 2007
    Messages : 146
    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 expérimenté
    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
    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 : 112
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