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 :

envoi d'une valeur dans une feuille via un formulaire


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 80
    Points : 43
    Points
    43
    Par défaut envoi d'une valeur dans une feuille via un formulaire
    Bonjour,

    J'ai une feuille de calcul avec des données. Quand je sélectionne une ligne je veux, via un bouton, l'expédier dans une autre feuille pour trier mes données. Au moment ou je clique un formulaire s'ouvre et me propose dans qu'elle feuille doit être envoyer la ligne de valeur. J'ai mis un bouton pour chaque feuille mais je suis sur qu'il y a plus facile.

  2. #2
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Un listBox ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Form_Activate()
        Dim ws As WorkSheet
        For Each ws In ThisWorkbook
            ListBox1.Additem ws.Name
        Next
    End Sub
     
    Private Sub ListBox1_Click()
        ' Active la feuille de destination
        WorkSheets(ListBox1.List(ListBox2.ListIndex)).Activate
        ' Tu mets le code pour copier ici    
    End Sub
    Si tu ne veux pas activer la feuille de destination, tu peux utiliser une variable de type Worksheet et copier directement dans cette feuille via la variable en question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub ListBox1_Click()
        Dim ws As WorkSheet
        Set ws = WorkSheets(ListBox1.List(ListBox2.ListIndex))
        ' Copie la plage sélectionnée (de la feuille active) vers 
        ' première cellule de la destination (A3, pour l'exemple)
        Selection.copy ws.Range("A3")   
    End Sub

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 80
    Points : 43
    Points
    43
    Par défaut
    Bonjour

    Merci de votre aide mais il y a quelques chose que je ne saisis pas correctement.
    J'explique avec l'exemple qui est joint. Quand tu choisis un élève tu choisis son passage dans le lycée1 ou autres...
    Mon soucis c'est que j'ai un code pour chaque bouton de mon userfom. Je voudrais, si possible, que dans mon userform un choix soit possible selon le nom des feuilles de mon classeur. C'est à dire que si j'ai 6 feuilles (lycée) je puisses choisir une des 6 feuilles sans créer autant de code que de boutons.
    De plus lors du "copier coller" dans une feuille (lycée) que la cellule sélectionner soit automatiquement la cellule vide de la colonne A(1). Je ne sais pas si c'est possible mais je vous remercie quand même de votre aide.
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    D'où l'emploi d'un ListBox. Quand tu clique sur le bouton (le seul qui déclenche l'action), la sélection dans le ListBox correspond à la feuille choisie.

    Je ne crois pas avoir besoin d'un quelconque fichier joint. Il me semble que l'explication est claire. Si tu n'aimes pas l'option ListBox, il y a toujours les OptionButton (boutons radio) car le principe reste le même. Cependant, il est plus facile de retrouver la sélection dans une liste (ListBox) que de parcourir l'ensemble de tes boutons radio (OptionButton) pour savoir lequel est sélectionné.

    [Edit raison="ajout d'un commentaire"] En passant, ton fichier joint est un dossier vide compressé. Y'a pas d'fichier là d'dans!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Réponses: 3
    Dernier message: 27/02/2014, 16h55
  3. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  4. Réponses: 1
    Dernier message: 25/09/2006, 17h15
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 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