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 à partir d'un userform


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Par défaut Impression à partir d'un userform
    Bonjour à tous,
    Je voudrais imprimer des feuilles excel différentes (appartenant au même classeur) en fonction des checkbox d'un userform mais je dois faire quelque chose de mal dans ma macro parce que ca ne fonctionne pas (ci-après mon bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub CommandButton4_Click()
    If UserForm2.CheckBox1 = True Then
    Sheets("Feuil2").PrintOut
    End If
    End
    End Sub
    Pouvez-vous m'aider? Merci d'avance
    Chris

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Mars 2007
    Messages : 56
    Par défaut
    Que est ce qui ne fonctionne pas ?
    L'impression ou ton code qui bug ?

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Pour indication, tu n'es pas obligé de mettre
    If UserForm2.CheckBox1 = True Then ...
    Tu meux simplifier en mettant
    Ensuite, pour ton pb, il est possible que ton End interrompt la macro. Je mettrais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If me.CheckBox1 Then 
          Worksheets("Feuil2").PrintOut
          DoEvents 'laisse au système le temps de traiter ta commande
    End If
    End
    End Sub
    Enfin, pour que ça fonctionne, Userform2 doit être actif
    Tu dis
    A+

  4. #4
    Membre averti
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Par défaut
    Il semble que ce soit mon code qui bug. Sur la ligne suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil2").PrintOut
    il me renvoie une erreur d'exécution 9: l'indice n'appartient pas à la sélection. Comprends pas....
    J'ai testé le code fourni par ouskel'n'or (avec mes remerciements pour tes précisions) mais sans effet.

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    kouichtionnes à cent sous :
    - Ta feuille est-elle dans le classeur actif ?
    - As-tu bien une feuil2 ?
    - Vérifie qu'il n'y ait pas un espace dans le nom de ta feuille
    - As-tu quelque chose dans ta feuil2 ?
    Sinon je ne vois pas. Le message d'erreur signifie que ta procédure ne trouve pas la feuille.
    Tu pourrais préciser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("NomDuClasseur.xls").Worksheets("Feuil2").printout
    A+

  6. #6
    Membre averti
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Par défaut
    Bon en définitive j'ai changé la référence à ma feuille, en prenant le nom de l'onglet (et pas le nom de feuille ) et ca fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub CommandButton4_Click()
    If CheckBox1 = True Then
    Sheets("Toutes institutions").PrintOut
    DoEvents
    End If
    End Sub
    Manifestement, je dois réviser ma syntaxe. En tout cas, merci beaucoup pour tous ces éclaircissements.
    (je mets ce post en résolu)

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

Discussions similaires

  1. [VBA E] affichage d une feuille a partir d un userform
    Par patbou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/03/2007, 21h55
  2. [DOS] Impression à partir d'un reseau local
    Par alamourette dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 08/02/2007, 18h28
  3. [VBA-E] Inserer une image a partir d'un userform
    Par Didpa dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/12/2006, 18h39
  4. Soustraction a partir d'un userform vers une feuille excel
    Par Didpa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/08/2006, 07h15
  5. [QuickReport]Impressions à partir de 2 requetes
    Par Poilou dans le forum C++Builder
    Réponses: 6
    Dernier message: 15/11/2004, 17h09

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