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 :

Demande d'aide à propos des macros


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Par défaut Demande d'aide à propos des macros
    Bonsoir à tous, j'aimerai faire un bouton imprimer, Enregistrer et créer nouvelle feuille sur excel 2007 mais j'ai parcourus le forum j'ai rencontrer des solutions mais je m'en sort toujours pas dans le code des macros à insérer dans la commande et j'aimerai demander à quelqu'un de m'aider à faire un code pour chacun de mes boutons. J'ai pu inserer les boutons mais le problèm c'est au niveau du code. Merci d'avance à tous

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Les membres du forum sont prêts à t'aider, mais tu ne nous donnes aucune info sur le code, ce qu'il doit faire, etc...

    Et montre ce que tu as déjà fait.

    Philippe

  3. #3
    Membre habitué
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Par défaut
    ok merci, . En faites les boutons c'est pour permettre que quand l'on clique dessus de faire une nouvelle feuille (copie de la feuille principale), d'imprimer la feuille ou d'enregistrer la nouvelle feuille. Je ne sais pas comment faire le code ou trouver le code de la macro correspondant. Si toute fois vous avez dèjà fais un code pour imprimer, enregistrer, ça sera le bienvenue. Merci et je pense que cette fois ci je me suis fais comprendre pour mon problème

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 569
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 569
    Par défaut
    Bonjour

    Quand tu crées les boutons, tu peux
    soit utiliser des contrôles de formulaire et simplement y associer ta macro existante (le plus simple quand on débute)
    soit utiliser des contrôles activeX (ce que tu as fait) mais dans ce cas il y un code associé au bouton (clic droit sur le bouton, visualiser le code) et il faut, depuis ce code appeler, ta macro.

    Quand tu parles d'enregistrer ta facture : si tu la places dans le classeur en cours, elle le sera en même temps que le classeur. Ne faudrait-il pas la mettre dans un nouveau classeur ?

    Par ailleurs si tu crées une facture, tel que ton code le prévoit, tes boutons ne sont pas sur la nouvelle facture donc fonctionnellement cela n'est pas pratique de les poser sur la facture servant de modèle.

    Au lieu de passer par des copies de feuille, il serait plus logique d'utiliser un modèle de classeur ou de feuille.

    Donc explique le déroulement de la facturation du début à la fin pour que l'on puisse te donner les bonnes pistes.

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il y a deux types de boutons de commande (Formulaire ou ActiveX)
    Pour les gérer (Office 2010). Onglet [Developpeur], groupe Contrôles, clic sur le bouton Insérer. Mais cela je suppose que tu le sais.
    Les boutons ActiveX font partie de l'objet Feuille.
    Si tu fais un double clic sur le bouton, tu crées une procédure événementielle dans cet objet et c'est là que tu insères le code VBA
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub CommandButton1_Click()
    ' Ici placer le code
    msgbox "Vous avez cliqué sur le bouton 'X' "
    End Sub
    Exemple
    Ce code peut bien évidemment faire appel à une procédure se trouvant dans un quelconque module du classeur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub CommandButton1_Click()
    ' Ici placer le code
     module1.Message ' Appel d'une procédure (Sub) se nommant Message et étant dans le module nommé Module1
    End Sub
    Si tu utilises les boutons formulaire
    Dès que tu as dessiné l'objet sur ta feuille, une boîte de dialogue s'ouvre te demandant d'affecter une macro (soit une procédure).
    Si tu as déjà placé le bouton sur la feuille.
    1) Clic droit sur l'objet et clic sur Affecter une macro.
    2) Choisir la macro à affecter
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre habitué
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Par défaut
    Bonjour, merci pour vos réaction. Je vous explique pas à pas pour ce que je veux pour ma facture. Je souhaiterai faire une facture qui puisse me gérer mes impressions, les sauvegardes et me permettre en cliquant sur nouvelle facture il me crée le modèle de ma facture vide afin que je renseigne les champs. Pour ce faire je voudrai mettre sur ma facture initiale des boutons ENREGISTRER, IMPRIMER et NOUVELLE FACTURE pour que quand je clique sur l'un d'eux chacun joue son rôle. Mais le soucis que j'ai c'est que je m'arrive pas à créer la macro (car je ne comprends pas comment créer le code de la macro pour chacun d'eux). Ainsi je demande de l'aide afin de pouvoir créer les codes des différents boutons afin d'aboutir à mon résultat souhaité. Merci une fois de plus pour explications

    @corona
    Oui j'ai utilisé les boutons formulaires, la je suis à la recherche de la création du code de la macro ! Merci

  7. #7
    Membre confirmé
    Homme Profil pro
    manager
    Inscrit en
    Février 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : manager
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2010
    Messages : 56
    Par défaut
    hello,

    un exemple de code pour imprimer
    A+

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Rectangle8_Clic()
     
    'Imprimer
        Sheets("Feuille bleue").Select                                           'selectionner l'onglet feuille Bleue
     
        Range("A1:J79").PrintOut                                                 'Selectionner les cellules et imprimer
     
    End Sub

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour bien comprendre le principe. Travaille étape par étape
    Prends un tout nouveau classeur
    Dans le VBE, tu insères un module en lui laissant le nom Module1
    Tu insères ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub AfficheMessage()
     MsgBox "Bonjour ici procédure AfficheMessage du Module1 vous avez appuyé sur le bouton"
    End Sub
    Sur la Feuil1 du classeur
    Tu insères un CommandButton de type Contrôle de formulaire
    Tu sélectionnes la macro AfficheMessage que te proposera la boîte de dialogue
    Ensuite
    1) Tu insères un CommandButton de type Contrôle ActiveX
    2) tu fais un double click sur ce bouton.
    Tu te retrouves avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
     
    End Sub
    3) Tu insères le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub CommandButton1_Click()
     MsgBox "Message venant de la procédure événementielle de la feuille 1"
     Module1.AfficheMessage
    End Sub
    Tu reviens sur la feuil1 et tu fais un test en cliquant sur les boutons
    Attention ne pas oublié de décocher la commande Mode Création sinon le bouton ActiveX ne sera pas actif

    Je crois qu'après, tu comprendras mieux ce que tu dois faire.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  9. #9
    Membre habitué
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Par défaut
    @young 25
    Merci pour ton code, je l'ai essayé ça l'air de fonctionner mais il me propose d'enregistrer avant l'impression et quand j'enregistre le fichier est au format XPS, y'a t'il pas une possibilité d'avoir sous format excel ou pdf ?

    @corona
    Merci pour la procédure, j'ai suivi et ça marche comme vous l'avez indiqué. Ma préoccupation est de pouvoir écrire le code pour chacun des mes boutons. Merci encore !

  10. #10
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    A partir du moment où tu sais comment placer ton code dès le clic sur un bouton.
    Il te suffit d'utiliser l'enregistreur de macro et d'ensuite Copier/Coller le code ainsi généré dans ta procédure.
    L'enregistreur de macro n'étant pas toujours économe en lignes et générant également des commandes inutiles pour une exécution optimale du code. Il faudra l'adapter.
    Reviens alors pour poser des questions. C'est la meilleure manière d'apprendre
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  11. #11
    Membre confirmé
    Homme Profil pro
    manager
    Inscrit en
    Février 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : manager
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2010
    Messages : 56
    Par défaut
    re,

    ci joint le code qui te permet d'enregistrer avant d'imprimer.

    Dans l'exemple que je te donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ActiveWorkbook.SaveAs Filename:= _
            "C:\Documents and Settings\David\Mes documents\Classeur1.xls", FileFormat:= _
            xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
            , CreateBackup:=False
    C:\Documents and Settings\David\Mes documents\Classeur1.xls est l'endroit ou tu sauvegarde.
    et le reste du code dit que tu enregistre en excel sans password




    code entier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Rectangle1_Clic()
    ActiveWorkbook.SaveAs Filename:= _
            "C:\Documents and Settings\David\Mes documents\Classeur1.xls", FileFormat:= _
            xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
            , CreateBackup:=False
     
     
    Sheets("Feuil1").Select                                           'selectionner l'onglet feuille Bleue
     
    Range("A1:J79").PrintOut                                                 'Selectionner les cellules et imprimer
    End Sub

  12. #12
    Membre habitué
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Par défaut
    Ok pour l'impression j'ai pu regler mon petit soucis, mon imprimante etait configurer sur XPS raison il enregistrer en xps. Il me reste à trouver comment créer ma nouvelle feuille avec mes champs (le tableau que j'ai sur ma facture). J'ai aussi fait que lorsque j'enregistre ma facture le numero de facture change automatiquement. Mais le soucis est que quand je veux imprimer ça s'enregistre mais le numero ne change pas. Une idée ? Merci

  13. #13
    Membre habitué
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Par défaut
    Bonsoir je suis de retour, j'ai suivie vos différentes procédure mais je ne me suis pas en sortie avec la création de mon bouton Nouvelle feuille. J'ai un autre soucis de plus, j'aimerai faire une saisie semi automatique pour ma liste de produit et quand je clique sur par exemple la lettre A dans le champ Nom du produit ça m'affiche la liste des produits commença par A. J'ai beaucoup parcourue le forum, j'ai vu des propositions mais je ne suis pas arrivé à le faire. ci joint mon fichier. Merci pour vos éclaircissement.
    Fichiers attachés Fichiers attachés

  14. #14
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonsoir,
    j'ai suivie vos différentes procédure mais je ne me suis pas en sortie avec la création de mon bouton Nouvelle feuille
    Je ne sais pas quelle procédure tu as suivies mais prends la peine de faire un test sur un nouveau classeur en suivant ma réponse du 24/03 (post #8)
    Parce-que moi, je ne vois aucune différence entre ton classeur d'aujourd'hui et celui que tu avais laissé il y a quelques jours.
    Il n'y a aucun code dans les deux procédures événementielles de ta feuille Facture E K G F ou alors il y a une étape qui m'échappe.
    C'est là que tu dois placer ton code d'après ton choix de boutons Contrôle ActiveX.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CommandButton1_Click()
     
    End Sub
     
    Private Sub CommandButton2_Click()
     
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [GWT] Aide à propos des différents panels
    Par gufra dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 08/11/2007, 16h18
  2. Information et aide à propos des listes liées et de XMLHttpRequest
    Par redpopo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/04/2007, 17h05
  3. Aide à propos des strings
    Par Invité dans le forum Général Python
    Réponses: 2
    Dernier message: 26/06/2006, 09h43
  4. [VBA] Excell : demande d'aide pour une macro
    Par Fealendril dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/01/2006, 16h28

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