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 :

Ne pas imprimer si case vide [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 14
    Par défaut Ne pas imprimer si case vide
    Bonjour, je suis débutant en VB et aurai besoin de votre aide

    Je voudrait que ma feuille "Feuil-de-prep" ne s'imprime que si il y a une valeur en C3 sur cette feuille


    merci par avance



    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Sub maj()
     If Len(Range("c1").Value) = 6 Then
     
        Range("C4").Select
        With Range("C4").QueryTable
            .Connection = _
            "ODBC;DSN=EFMAIN46;UID=sa;PWD=;APP=2007 Microsoft Office system;WSID=LBIDARD;DATABASE=EFMAIN46;LANGUAGE=Français;"
            .CommandText = Array( _
            "SELECT DISTINCT " & Chr(13) & "" & Chr(10) & "                      PROD_BATCHES.PR_BATCH_ID as [Lot], CUSTOMERS.CUST_NAME as [Client], PROD_FOLDERS.TITLE as [Référence Dossier], PROD_FOLDERS.cust_DELAY as [Délai Client], conver" _
            , _
            "t (int,SUM(PROD_FOLD_DET.ORDER_QTY) )  as [Qté]" & Chr(13) & "" & Chr(10) & "                      , PROD_FOLD_DET.FOLDER_ID as [Dossier]" & Chr(13) & "" & Chr(10) & "FROM         PROD_BATCHES INNER JOIN" & Chr(13) & "" & Chr(10) & "                      PROD_FOLD_DET ON PROD_BATCHES" _
            , _
            ".PR_BATCH_ID = PROD_FOLD_DET.PR_BATCH_ID INNER JOIN" & Chr(13) & "" & Chr(10) & "                      CUSTOMERS ON PROD_FOLD_DET.CUST_ID = CUSTOMERS.CUST_ID INNER JOIN" & Chr(13) & "" & Chr(10) & "                      PROD_FOLDERS ON PROD_FOLD_DET.FOLDER" _
            , _
            "_ID = PROD_FOLDERS.FOLDER_ID" & Chr(13) & "" & Chr(10) & "GROUP BY PROD_BATCHES.PR_BATCH_ID, CUSTOMERS.CUST_NAME, PROD_FOLDERS.TITLE, PROD_FOLDERS.cust_DELAY ,PROD_FOLD_DET.ART_GROUP_ID, " & Chr(13) & "" & Chr(10) & "                      PROD_FOLD_DET.FOL" _
            , _
            "DER_ID" & Chr(13) & "" & Chr(10) & "HAVING      (PROD_FOLD_DET.ART_GROUP_ID = 1) AND (PROD_BATCHES.PR_BATCH_ID = " & Range("c1").Value & ")" & Chr(13) & "" & Chr(10) & "ORDER BY PROD_FOLD_DET.FOLDER_ID" _
            )
            .Refresh BackgroundQuery:=False
        End With
     
          With ActiveWorkbook.Connections("Lancer la requête à partir de EFMAIN461"). _
            ODBCConnection
            .BackgroundQuery = True
            .CommandText = Array( _
            "SELECT        BOOKING_1.REFERENCE, BOOKING_1.DESCRIPTION, SUPPLIES.RACK_1, SUM(BOOKING_1.NEED_QTY) , BOOKING_1.UNIT" _
            , _
            "" & Chr(13) & "" & Chr(10) & "FROM            PROD_FOLDERS INNER JOIN" & Chr(13) & "" & Chr(10) & "                         BOOKING_1 ON PROD_FOLDERS.FOLDER_ID = BOOKING_1" _
            , _
            ".FOLDER_ID INNER JOIN" & Chr(13) & "" & Chr(10) & "                         SUPPLIES ON BOOKING_1.ARTICLE_ID = SUPPLIES.ARTICLE_ID" & Chr(13) & "" & Chr(10) & "WHERE      " _
            , _
            "  (PROD_FOLDERS.PR_BATCH_ID = " & Range("c1").Value & ") AND (SUPPLIES.PROD_AREA = 'FD Spec')" & Chr(13) & "" & Chr(10) & "GROUP BY BOOKING_1.REFERENCE, BOOKING_1" _
            , ".DESCRIPTION, SUPPLIES.RACK_1, BOOKING_1.UNIT")
            .CommandType = xlCmdSql
            .Connection = _
            "ODBC;DSN=EFMAIN46;UID=sa;PWD=;APP=2007 Microsoft Office system;WSID=LBIDARD;DATABASE=EFMAIN46;LANGUAGE=Français;"
            .RefreshOnFileOpen = False
            .SavePassword = False
            .SourceConnectionFile = ""
            .SourceDataFile = ""
            .ServerCredentialsMethod = xlCredentialsMethodIntegrated
            .AlwaysUseConnectionFile = False
        End With
        With ActiveWorkbook.Connections("Lancer la requête à partir de EFMAIN461")
            .Name = "Lancer la requête à partir de EFMAIN461"
            .Description = ""
        End With
        ActiveWorkbook.Connections("Lancer la requête à partir de EFMAIN461").Refresh
        Else
            MsgBox "Numéro de lot incomplet!"
        End If
     ActiveWindow.SelectedSheets.PrintOut Copies:=1
     Worksheets("Feuil-de-prep").PrintOut Copies:=1
     
    End Sub

  2. #2
    Membre confirmé
    Homme Profil pro
    Gestion comptable - Spécialiste Excel, Vba, - Débutant MySql, Javascript, Python, Php
    Inscrit en
    Mars 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Gestion comptable - Spécialiste Excel, Vba, - Débutant MySql, Javascript, Python, Php

    Informations forums :
    Inscription : Mars 2010
    Messages : 48
    Par défaut
    Bonjour,

    Vous pouvez remplacer la ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil-de-prep").PrintOut Copies:=1
    avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    with Worksheets("Feuil-de-prep")
    if .range("C3").value <> "" then .printout copies:=1
    end with
    cordialement

    Pascal

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 14
    Par défaut
    Merci beaucoup pour votre réponse très rapide, cela fonction très bien

    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. FORMULAIRE WORD : PAS imprimer les cases grises vides
    Par evechelsea dans le forum Windows 7
    Réponses: 3
    Dernier message: 09/06/2015, 16h49
  2. [WD-2010] Imprimer les cases vides des équations.
    Par nico253 dans le forum Word
    Réponses: 1
    Dernier message: 13/05/2013, 00h13
  3. Ne pas imprimer une Band vide
    Par matpush dans le forum Jasper
    Réponses: 1
    Dernier message: 07/07/2009, 00h36
  4. Ne pas afficher les cases vides
    Par axamen dans le forum Langage SQL
    Réponses: 4
    Dernier message: 23/05/2007, 17h20
  5. Ne pas imprimer un contrôle vide dans un état
    Par auriolbeach dans le forum Access
    Réponses: 2
    Dernier message: 27/10/2006, 18h32

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