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 :

Impression conditionnelle [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2016
    Messages : 5
    Par défaut Impression conditionnelle
    Bonjour à tous et à toutes, je souhaiterai créer une macro me permettant d'imprimer une facture à condition que la case Total ( bleu)ne soit pas vide!
    Probleme , c'est ma premier macro, et je n'ai aucune idée de comment faire j'ai tente qque chose qui me ramene à une erreur.

    je suis nouveau sur le forum et j'apprecierai votre aide, veuillez excuser mon faible niveau dans le domaine je debute

    Merci d'avance pour votre aide !

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Bonjour,

    Bienvenue sur le forum.

    Je te conseille la lecture de ceci: http://www.developpez.net/forums/d84...s-discussions/

    Poste plutôt ton code (avec la balise #), avec l'endroit précis où l'erreur se produit et la description de l'erreur

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2016
    Messages : 5
    Par défaut Desole !
    okok Excusez moi


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub MacroImpres()
         If Sh.Range("facture!k29") <> "" Then
            Exit Sub
    '   Else ActiveSheet.PrintOut Copies:=1, Collate:=True
    '
      End If
    End Sub
    C'est mieux ?

  5. #5
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    C'est déjà mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sh.Range("facture!k29")
    D'où sort tu ce code? que représente "sh" ?
    Si tu veux pointer vers la cellule K29 de la feuille facture utilise ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets("facture").range("K29")

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2016
    Messages : 5
    Par défaut
    Aucune idée ça devrait etre un diminutif de ""sheets" surement ..
    ok merci !
    Mon problème est que la case soit vide ou pas la macro prend fin directement, elle ne prend pas en compte le sinon de la ligne suivante.
    auriez vous une explication ou une aide svp ?

  7. #7
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par stageinfo Voir le message
    auriez vous une explication ou une aide svp ?
    Est-ce que tu as lu mon message ?

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Quand tu copies une portion de code, essaye de la comprendre.

    Je pense que tu as du reprendre ta ligne If dans un autre code.
    Elle utilise une variable (Sh) mais comme tu n'as pas repris le reste du code, cette variable n'est pas renseignée.
    Ce qui doit certainement te générer une erreur à l'exécution. Tu aurais pu l'indiquer dans ta demande avec la désignation du message.

    Remplace cette ligne par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         If WorkSheets("facture").Range("k29").Value <> "" Then
    Et supprime le Exit Sub et le Else.
    Bin oui... si j'ai bien compris, tu veux imprimer si la case n'est pas vide. Or, si tu lis ton code, si la case n'est pas vide (<>""), tu demandes de quitter le code (Exit Sub) ce qui est le contraire de ce que tu veux.

    En plus, ta condition me semble étrange : une case total qui peut être vide.
    Il ne faut pas confondre "vide" et "nul".

  9. #9
    Membre averti Avatar de miandry_rabe
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 22
    Par défaut
    Tu pourrais aussi donner un nom à la cellule dédiée au total pour ne pas rectifier le code à chaque fois que tu supprimes ou ajoute une ligne/colonne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub MacroImpres()
         If Sh.Range("Total_Facture") <> "" Then 'Total_Facture est le nom donné à la cellule k29 dans la feuille facture (gestionnaire de nom)
            Exit Sub
    '   Else ActiveSheet.PrintOut Copies:=1, Collate:=True
    '
      End If
    End Sub

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/11/2006, 09h51
  2. Word n'affiche pas les images de mon état
    Par maxdwarf dans le forum Access
    Réponses: 2
    Dernier message: 07/06/2006, 13h36
  3. j'ai pas les icones de mon bureau soudainement
    Par StyleXP dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 26/03/2006, 15h09
  4. Réponses: 10
    Dernier message: 23/03/2006, 20h57
  5. Réponses: 2
    Dernier message: 19/10/2005, 19h39

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