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 :

liste déroulante & double exécution


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 5
    Points
    5
    Par défaut liste déroulante & double exécution
    Bonjour à tous,
    après beaucoup de lecture et de prise de tête il faut le dire, je me tourne vers vous.
    J'ai deux problèmes sur 2 projets différents.

    Premier problème:

    J'ai un document excel "facture type" vide lequel se remplit avec un formulaire dans un Userform jusque là ça va?
    Oui mais voila les données articles sont dans un autre fichier excel, et je n'arrive pas à faire à les intégrer dans une liste déroulante dans mon Userform.
    Pouvez-vous m'aider?

    Deusième problème:

    J'ai un document excel dans lequel j'ai ajouter un bouton pour lancer une macro, ça marche mais la macro se lance 2 fois, pourquoi?
    voici le code dans le ThisWorkbook:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call Supprimer_menu
    End Sub
     
    Private Sub Workbook_Open()
    Call Creer_menu
    End Sub
    le code dans la macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    'Le code pour ajouter le menu.
     
    Sub Creer_menu()
     
       With CommandBars(1).Controls.Add(msoControlPopup)
     
          .Caption = "Nom menu"
     
          With .Controls.Add(msoControlButton)
     
             .Caption = "application du facteur chance"
     
             .BeginGroup = False
     
             .OnAction = "facteur_chance()"
     
          End With
     
          With .Controls.Add(msoControlButton)
     
             .Caption = "tirage au sort"
     
             .BeginGroup = False
     
             .OnAction = "tirage_au_sort()"
     
          End With
     
       End With
     
    End Sub
     
    'Le code pour supprimer le menu.
     
    Sub Supprimer_menu()
     
       CommandBars(1).Controls("Nom menu").Delete
     
    End Sub
    Grand Merci de m'avoir lu!
    Et encore + merci si vous avez la solution!

  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
    Bonjour deuiz, bienvenue sur le forum.
    Tu nous dis pas tout !
    As-tu une autre macro que Private Sub Workbook_Open() qui est lancée à l'ouverture de ton fichier ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    nan il n'y a que cette macro qui se lance a l'ouverture du fichier
    (merci pour cette réponse plus que rapide)

  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
    Désolé mais je ne vois pas. Je ne peux que te renvoyer ici, regarde le premier code où tu as une indication sur la création d'une "Barre d'outils provisoire provisoire".
    Si tu n'y arrives toujours pas, joins ton fichier (zippé) on regardera.
    A+

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    je vais regarder le lien que tu viens de me donner.
    (je peux pas vous donner mon fichier car confidentiel c'est un tirage au sort pour ma boite.Il marche mais il s'exécute 2 fois c'est pas grave...Mais mon deuxième problème est plus important)


    Sinon pour mon deuxième problème:

    es-que c'est possible de rempli une combobox avec les données contenues dans une colonne d'un fichier excel(pas le fichier qui contient le VBA, un autre)?

    Encore merci pour les réponses et la bonne humeur

  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
    Pour le fichier, tu n'es pas obligé de joindre tes données puisqu'il ne s'agit que de l'insertion d'une barre d'outils à l'ouverture et sa supression à la fermeture du fichier. Un classeur vide de données avec tes trois macros citées suffiraient.
    Pour ta question sur les combobox, tu as deux solutions : Si tes données sont cohérentes (pas de cellules ou lignes vides dans ta colonne) tu peux utiliser RowSource.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ComboBox1.RowSource = "a1:a15" 'combo à une colonne
    ou
    ComboBox1.RowSource = "a1:C15" 'combo à 3 colonnes
    L'intérêt de RowSource étant qu'un simple rafraichissement permet de mettre à jour la base de donnée ou le combo selon les modifs que tu apportes à l'une ou à l'autre.
    Citation Envoyé par l'aide en ligne
    Si un contrôle ComboBox est dépendant d'une source de données, il insère dans cette source de données la valeur que l'utilisateur entre ou sélectionne. Si une liste modifiable multicolonne est dépendante, la propriété BoundColumn détermine la valeur enregistrée dans la source de données dont dépend la liste modifiable.
    Si tu as des cellules vides dans ta colonne ou que tu ne souhaites reprendre que certaines données, tu peux créer un tableau deux dimensions des données à qui t'intéressent et utiliser ComboBox1.List() = Tableau
    Tu as des exemples dans l'aide en ligne que je ne pourrais que reproduire (F1)
    Maintenant, si tu veux renseigner ta combobox avec des données diverses, tu as Additem qui ajoute donnée par donnée.
    Bon courage
    A+

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

Discussions similaires

  1. [DOM] Double interaction entre listes déroulantes
    Par shazdo dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 27/03/2008, 08h20
  2. [MySQL] Double liste déroulante REGION + Villes
    Par dahu17 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 05/02/2008, 22h57
  3. Réponses: 1
    Dernier message: 24/08/2007, 12h46
  4. Double liste déroulante avec choix d'onglet
    Par fugy33 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/06/2007, 10h45
  5. [AJAX] Exécution sous Internet Explorer (liste déroulantes liées)
    Par dream_of_australia dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/06/2007, 07h24

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