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 :

Synthése de plusieurs onglets « Devis »


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 0
    Points
    0
    Par défaut Synthése de plusieurs onglets « Devis »
    Bonjour,
    Je suis en train de construire un classeur à 8 onglets : 1 tableau par onglet, les 8 tableaux sont identiques, avec des menus déroulants permettant de calculer un prix final selon les options retenues.

    Exemple : onglet 1 = Menu Italien. Onglet 2 = Menu Végétarien … Onglet 8 : Menu Asiatique.
    Choix : apéritif, entrée, boisson, plat, dessert

    A l’ouverture du fichier, un userform permet de choisir un ou plusieurs menus, et seuls les onglets correspondants s'ouvrent. Ainsi, l’utilisateur peut par exemple simuler le prix d’un Menu Italien seul, ou un Menu Italien et un Asiatique, ou le prix des 8 menus.

    J’aimerai avoir un onglet récapitulatif, prêt à être imprimé. Par exemple, si l’utilisateur a choisi le Menu Italien et le Menu Végétarien, et complété les tableaux sur les 2 onglets, il pourrait aller récuperer les 2 tableaux sur la même feuille, l'un aprés l'autre, dans l’onglet synthése.

    Est-ce faisable ?
    Merci,
    Nico

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 202
    Points : 14 353
    Points
    14 353
    Par défaut
    Bonjour,

    C'est possible, ça dépend essentiellement de la disposition de test données et du type de synthèse voulu. Poste un classeur exemple.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Recap()
       Dim Recap As Worksheet
       Dim i As Integer
     
       Set Recap = Worksheets.Add(, Worksheet(Worksheets.Count))
     
       For i = 1 To Worksheets.Count - 1
          Worksheets(i).UsedRange.Copy (Recap.Cells(Recap.UsedRange.Rows.Count + Recap.UsedRange.Row))
       Next i
     
    End Sub
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 0
    Points
    0
    Par défaut
    Merci. Si je comprends bien, je dois créer un onglet et le nommer "Recap", puis insérer cette macro (mais où?)

  5. #5
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Non, cette macro crée l'onglet Recap elle-même.
    D'ailleurs, si l'onglet Recap existe déjà, il faut le supprimer avant de lancer la macro.

    Il faut mettre cette macro dans un module du classeur.
    Si tu ne sais pas comment insérer une macro, regarde un didacticiel de base sur VBA : http://excel.developpez.com/cours/
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 0
    Points
    0
    Par défaut
    Merci. J'ai copié collé cette macro dans un module, mais rien ne se passe

  7. #7
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Pour déclencher une macro, il faut l'exécuter.
    Lis les tutoriels.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Nouveau Candidat au Club
    Femme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 0
    Points
    0
    Par défaut
    J'ai exécuté la macro, mais ca ne fonctionne pas

  9. #9
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par nduverger Voir le message
    ca ne fonctionne pas
    C'est vraiment très explicite comme description de problème.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  10. #10
    Nouveau Candidat au Club
    Femme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 0
    Points
    0
    Par défaut
    "Erreur de compilation: Sub ou Function non définie".

  11. #11
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Comment as-tu lancé la macro ?
    Comment l'as-tu implantée ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  12. #12
    Nouveau Candidat au Club
    Femme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 0
    Points
    0
    Par défaut
    J'ai crée un bouton de commande "Recap", dans chaque onglet, avec ton code à l'intérieur.

  13. #13
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Tu n'aurais pas changé le nom de la macro entre le moment où tu l'as reliée au bouton et le moment où tu l'as exécutée ?
    Où as-tu placé le code ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  14. #14
    Nouveau Candidat au Club
    Femme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 0
    Points
    0
    Par défaut
    J'ai fait "affichage => barre d'outils => boite à outils controles", puis je me suis mis en "mode création". J'ai crée mes boutons de commande, puis double cliqué et saisi le code dedans. J'ai répété cette opération sur les 8 onglets.

  15. #15
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Tu veux dire que tu as mis ce code comme texte du bouton de contrôle ?
    C'est normal de que ça ne marche pas.

    Il faut mettre la macro dans un module avec l'éditeur VBA.

    Je te répète. Avant de commencer à implanter cette macro, commence par lire un tutoriel sur le VBA et à créer une petite macro très simple. Quand tu auras compris la base, tu comprendras comment faire avec la macro que je t'ai transmise.

    Et il ne sera pas nécessaire de l'implanter dans tous les onglets puisque, justement, elle récupère le contenu de tous les onglets (c'est la macro qui les scrute les uns après les autres).
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  16. #16
    Nouveau Candidat au Club
    Femme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 0
    Points
    0
    Par défaut
    Est-ce possible de m’indiquer où copier/coller le code, étape par étape, si ce n’est pas trop compliqué ? J’utilise VBA très rarement, donc je n’ai pas spécialement envie de me plonger dans des tutoriels. Merci

  17. #17
    Membre éclairé Avatar de Nico Chg
    Homme Profil pro
    Apprenti ingénieur Business Development
    Inscrit en
    Juillet 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Apprenti ingénieur Business Development
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2014
    Messages : 352
    Points : 758
    Points
    758
    Par défaut
    Donc tu demande un tutoriel, parceque tu n'as pas le temps d'en lire ? Je trouve ça plutôt malin ...

    Tu fais Alt + f11, et tu obtiens ça :

    Nom : Sans titre.png
Affichages : 375
Taille : 20,3 Ko

    Tu copy/past le code dans le module que tu as créer :

    Nom : Capture.PNG
Affichages : 383
Taille : 18,7 Ko

    Tu ajoute un bouton :

    Nom : Sans titre.png
Affichages : 384
Taille : 75,5 Ko

    Et tu lie le code au bouton :

    Nom : Capture.PNG
Affichages : 423
Taille : 30,3 Ko

    Et la c'est gagné. Sinon, et bien il va falloir que tu trouve un vrai tutoriel, parce qu'il s'agit de la base de la base du VBA.
    Citation Envoyé par Oscar Wilde
    Je déteste les discussions: elles vous font parfois changer d'avis.

  18. #18
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par nduverger Voir le message
    Est-ce possible de m’indiquer où copier/coller le code, étape par étape, si ce n’est pas trop compliqué ?
    C'est expliqué dans les tutoriels que je t'ai déjà conseillé de lire : http://excel.developpez.com/cours/
    Si tu ne veux faire aucun effort, je ne vois pas pourquoi les autres en feraient pour toi.

    J’utilise VBA très rarement, donc je n’ai pas spécialement envie de me plonger dans des tutoriels. Merci
    Une autre façon de dire : je n'ai pas envie de perdre du temps, pouvez-vous en perdre pour moi.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  19. #19
    Membre éclairé Avatar de Nico Chg
    Homme Profil pro
    Apprenti ingénieur Business Development
    Inscrit en
    Juillet 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Apprenti ingénieur Business Development
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2014
    Messages : 352
    Points : 758
    Points
    758
    Par défaut
    On dirait que j'ai été trop gentil
    Citation Envoyé par Oscar Wilde
    Je déteste les discussions: elles vous font parfois changer d'avis.

  20. #20
    Nouveau Candidat au Club
    Femme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 0
    Points
    0
    Par défaut
    Cela ne fonctionne pas. Avez-vous testé la macro?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Recap()
       Dim Recap As Worksheet
       Dim i As Integer
     
       Set Recap = Worksheets.Add(, Worksheet(Worksheets.Count))
     
       For i = 1 To Worksheets.Count - 1
          Worksheets(i).UsedRange.Copy (Recap.Cells(Recap.UsedRange.Rows.Count + Recap.UsedRange.Row))
       Next i
     
    End Sub
    Quelqu'un a d'autres pistes?

Discussions similaires

  1. [XL-2010] Synthèse de plusieurs onglets de données
    Par LG-69 dans le forum Excel
    Réponses: 2
    Dernier message: 10/10/2014, 13h52
  2. Réponses: 3
    Dernier message: 09/04/2012, 15h03
  3. Export requete sur excel sur plusieur onglets
    Par Renardo dans le forum Access
    Réponses: 10
    Dernier message: 26/01/2007, 17h13
  4. Template d'application comportant plusieurs onglets
    Par g0ldenrno dans le forum Interfaces Graphiques en Java
    Réponses: 8
    Dernier message: 21/06/2006, 18h00
  5. [VBA-E] Impression page paire sur plusieurs onglets
    Par liop49 dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 17/02/2005, 15h19

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