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 :

bouton qui controle deux feuilles


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Points : 391
    Points
    391
    Par défaut bouton qui controle deux feuilles
    Bonjour,

    Est ce que qu'un commandbutton peut controle deux feuilles?

    Exemple:

    Pour le moment j ai une feuilles avec plein de boutons,ces boutons masque des lignes sur la feuille deux plus ou moins selon le modele desire donc le bouton cliquer.

    apres si j ajoute une autre feuille appele "add..."(les... pour le numero de la feuille) avec un bouton
    je voudrai que les boutons "modele" dirige ma nouvelle feuille.

    Mon idee est de creer une boite de dialogue avec les deux types de feuille:

    -Main
    -Add...

    si c est main qui est selectionne on dirige main si c est Add on dirige le dernier Add soit la derniere feuille ajoute.

    est ce possible?

  2. #2
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Je résume
    Une feuille Main avec plein de boutons qui dirige la feuille Main
    Une feuille Add avec un seul bouton
    Pour utiliser les mêmes macros dans les deux feuilles, tu dois mettre tes procédures dans un module standard.
    Derrière chaque bouton, le code d'appel de ces procédures avec pour paramètre le nom de la feuille active.
    Dans le code de la feuile de calculs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
          TaMacro Activesheet.name
    End Sub
    ... et dans le module standard, ta macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub TaMacro(NomFeuille)
         msgbox "Tu te trouves dans la feuille " & NomFeuille
    End sub
    Si j'ai bien décripté tes "explications"...

  3. #3
    Membre averti Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Points : 391
    Points
    391
    Par défaut
    je reexplique pour que tu comprenne bien mais t est vraiment dans l esprit.

    j ai une feuille1 avec plein de boutons " modele"

    pour le moment elle ne controle que la feuille 2 "Main"

    Mais mon idee est de mettre un forms a l ouverture : pour selectionner le type de feuille qui va etre rempli

    si c est Main elle existe deja
    si c est Add

    la personne clic sur un togglebutton pour ajouter une feuille rempli qui est la copie de main sans ces formules et en meme temps je veux que ma feuille 1 controle la feuille Add (la derniere feuille ajoute mais plus la main)


    merci Ouskel'Nor

  4. #4
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Avant de répondre, explique encore :
    Citation Envoyé par toi
    Mais mon idee est de mettre un forms a l ouverture : pour selectionner le type de feuille qui va etre rempli
    Où sont tes boutons ? Sur la feuille de calculs ou sur un userform ?
    J'ai compris qu'ils étaient sur la feuille de calculs.
    Pour remplir l'une de tes feuilles, tu veux donc utiliser un userform, c'st bien ça ?
    Je réponds à ça mais j'aurai ensuite une suggestion à te faire.
    Sur ta feuille Main, un bouton pour ouvrir l'userform avec pour paramètre la feuille Main, et un autre bouton pour ajouter une feuille Add et ouvrir l'userform sur la feuille Add.
    Tu fais une seule macro dans un module standard avec appel depuis le bouton "Main" avec le paramètre Main
    et derrière le bouton "Add", tu ajoutes la feuille, et appelle la même macro avec le paramètre Add.
    La macro pour ouvrir l'userform
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub OuvrirUserform(NomDeLaFeuille)
    Worksheets(NomDeLaFeuille).select 'ou activate
    Userform1.Show
    End sub
    Dans l'userform, tu peux alors travailler sur la feuille active (activesheet)
    Maintenant, ce que je suggèrerais est une ouverture de l'userform à l'ouverture du fichier (Macro Workbook_Open dans Thisworkbook) avec un bouton autorisant l'ajout d'une feuille qui devient alors la feuille active et éventuellement une liste de tes feuilles afin de pouvoir sélectionner la feuille sur laquelle tu souhaites travailler.
    Cette solution permettrait d'empêcher l'utilisateur d'accéder directement à la base de données et l'empêcher ainsi de modifier des cellules sans que tu le désires.
    Juste une idée mais qui supprimerait tous tes boutons sur tes feuilles de calculs

  5. #5
    Membre averti Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Points : 391
    Points
    391
    Par défaut
    Pièce jointe 26888


    Est ce que tu comprends mieu ?

  6. #6
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Désolé, mais sans me plonger dans ton code, non, ça ne m'éclaire pas sur ce que tu veux faire, tes boutons envoyant systématiquement sur la feuille Main (ceux que j'ai essayés). Et je ne vais avoir le temps de creuser... Désolé.

  7. #7
    Membre averti Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Points : 391
    Points
    391
    Par défaut
    ok
    tu as les bouton sur la feuille 1 : "Level of project" qui masquent des lignes sur la feuille Main.


    tu as le bouton add order quand tu clic sur "Control Table":
    celui ci ajoute une feuille

    'update' mets a jour un tableau sur les feuilles ajoutees "Add.."

    MON OBJECTIFS est de controler avec les memes boutons sur Feuille 1"level of project" soit la feuille Main si l utilisateur a choisis Main ou Add si l utilisateur a choisis Add.

    et je pensais faire sa avec un forms ds le sub : workbook open


    tu comprends mieu?

  8. #8
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    C'est bien ce que j'ai compris (en gros).
    Je persiste donc, je mettrais tous mes boutons dans un userform ouvert à l'ouverture du projet pour gérer tes différentes feuilles. Je n'utilise jamais une feuille de calculs pour gérer un projet. Un userform sécurise le projet en empêchant l'utilisateur d'accéder aux feuilles de calculs, et permet d'améliorer considérablement la présentation. En outre ça te libère d'avoir à retourner sur la bonne feuille pour retrouver le bon bouton qui fait la bonne action
    Pour tout dire, je ne mets jamais de boutons dans une feuille de calculs et leur préfère un bouton dans une barre d'outils personnalisée quand cela se révèle nécessaire (pour des tâches spécifiques et ponctuelles...)
    Ceci dit, la méthode que je t'ai indiquée te permet de faire... ce que je ne fais jamais...
    Bon courage, bonne chance, bonne journée. (là, je dois vraiment "y aller")

  9. #9
    Membre averti Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Points : 391
    Points
    391
    Par défaut
    pas de probleme : je vais tenter ton idee de forms avec tous les boutons dedans.

    juste une question peux tu dessiner un tableau dans un forms ?

    il me semble pas...



    merci pour tout ouskel'nor

  10. #10
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Citation Envoyé par tomy7 Voir le message
    pas de probleme : je vais tenter ton idee de forms avec tous les boutons dedans.
    juste une question peux tu dessiner un tableau dans un forms ?
    Qu'entends-tu exactement par "dessiner" et par un "forms"

    Certaines choses sont (dur dur, mais oui...) possibles en se servant de l'Api de Windows...

    Mais réponds d'abord avec précision.

  11. #11
    Membre averti Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Points : 391
    Points
    391
    Par défaut
    forms = userforms

    dessiner = lorsque tu cree un forms tu peux faire un cadre, ajouter un combobox , textbox,..., mais il me semble que tu n ' as pas la possibilite de faire un tableau ou tu mets les boutons dedans comme celui qu il y a sur ma piece jointe plus haut feuille level of project

  12. #12
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Tu n'y "fais" pas un cadre ... tu insères un cadre (un contrôle Frame)

    Les autres "choses" dont tu parles ici (combobox, textbox, etcc...) ne sont en rien des dessins eux non plus, mais des contrôles insérés....

    Si maintenant, ce que tu veux dire est : "existe-t-il un contrôle revêtant l'aspect d'un tableau et que je pourrais insérer sur mon userform ?" , la réponse est oui ! Il en existe quelques-uns, parmi lesquels une ListView, une MsFlexGrid, etc...

    Rien de celà ne correspond à du "dessin"...

  13. #13
    Membre averti Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Points : 391
    Points
    391
    Par défaut
    ok je me suis mal exprime avec le terme dessin ...
    Donc comment fais tu une msgflexgrid ou une listview?

  14. #14
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Je répète donc (et répèterai à l'infini ... question essentielle de terminologie) :
    Ce n'es pas toi qui "fais" .... C'est toi qui insères un contrôle ou un composant.

    Tu veux quoi ? Insérer une ListView ?

    Bon... ouvre enfin ton aide en ligne sur ce mot (ListView)...

    Tu y découvriras à quelle insertion d'OCX elle correspond...

    Ensuite : Clic droit dans ta boîte à outils ===>>> Contrôles supplémentaires ===>>> tu coches Microsoft Listview ...===>> tu acceptes ===>> tu l'insères ===>> tu retournes dans ton aide en ligne et tu bûches comment l'utiliser (toutes ses propriétés, ses évènements, ses méthodes, les exemples fournis ...) ===>> tu t'en sers...

    Tu reviens ici exposer (avec ton code d'essai) une difficulté éventuelle ponctuelle d'application...

    C'est ainsi que l'on apprend VB, pas autrement ...

  15. #15
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu peux insérer un contrôle (cf - ucfoutu) ou une image de fond pour ton userform ( Tableau dans userform.zip ) image dans laquelle tu peux disposer toutes tes affaires

  16. #16
    Membre averti Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Points : 391
    Points
    391
    Par défaut
    ouai bonne idee mais j ai envie d evoluer au niveau des listview et Msflexgrid car je ne connais pas du tout donc je veux voir quand on peut inserer cela et les developper

    merci ouskel'nor

    simple question pour toi ouskel'nor

    Comment fais tu pour mettre ton image en fond du Userform?

    j ai compris avec propritete> picture



    merci a tous

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/08/2009, 22h39
  2. bouton submit qui fait deux actions
    Par am@123 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/06/2009, 14h55
  3. deux boutons qui appellent la même procédure
    Par dawood dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 17/10/2008, 18h39
  4. Réponses: 2
    Dernier message: 10/09/2007, 13h03
  5. Réponses: 10
    Dernier message: 10/06/2004, 16h20

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