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 :

Problème liens entre deux Listbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Par défaut Problème liens entre deux Listbox
    Bonjour,
    Je fais appel à vous car je suis un peu bloqué, je suis entrainde faire un petit programme qui fait pleins de traitement, mais je bloque sur un point.
    J'ai mis un fichier exemple avec les commentaires et explication de ce que je souhaiterai faire.
    Merci de votre aide.
    Cdlt.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Déjà pour éviter que ça plante, il faut remplacer
    par
    Ensuite, tu as l'air bien partie pour le moment, qu'est-ce qui te bloque ?

    Quand même quelques remarques, je mettrais la selection du userForm1 dans une variable globale du userForm2, ça éviterait d'avoir à rechercher ensuite la valeur selectionnée. Et pour la recherche dans la feuille Excel, récupère d'abord le numéro de la ligne, tu pourras ensuite tranquillement récupérer toutes les devises.

    J'ai modifié un peu le code des deux userForms. Je n'ai pas forcément fait le plus propre possible, il y avait surement d'autres trucs à améliorer.

    UserForm1:
    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
    Private Sub CommandButton1_Click()
     
    If ListBox1.ListIndex >= 0 Then
        Load UserForm2
        UserForm2.selectedFund = ListBox1.Value
        UserForm2.InitForm
        UserForm2.Show
    End If
     
    End Sub
     
    Private Sub userform_initialize()
    'creer liste 1 form(ajout devise)
    Dim i As Integer
    dlig = Sheets("ETAT NEWEDGE").Range("A" & Rows.Count).End(xlUp).Row
    With UserForm1.ListBox1
    'If List2.ListCount < 1 Then
    For i = 2 To dlig
    ListBox1.AddItem Sheets("ETAT NEWEDGE").Range("A" & i).Value
    Next
    'End If
    End With
    End Sub
    UserForm2:
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    Public selectedFund As String
     
    Private Sub CommandButton1_Click()
     
    If TextBox1.Value = "" Then
        MsgBox "Devise non valide"
        Exit Sub
    End If
     
    If selectedFund = "" Then 'ne devrait pas se produire
        Exit Sub
    End If
     
    Dim rg As Range
    Dim lastCol As Integer
     
    Set rg = Sheets("ETAT NEWEDGE").Range("A:A").Find(selectedFund)
     
    If rg Is Nothing Then 'ne devrait pas se produire
        Exit Sub
    End If
     
    lastCol = rg.Offset(0, 200).End(xlToLeft).Column + 1
     
    rg.Offset(0, lastCol - 1).Value = TextBox1.Value
     
    ListBox1.AddItem TextBox1.Value
     
    End Sub
     
    Public Sub InitForm()
     
    If selectedFund = "" Then 'ne devrait pas se produire
        Unload Me
    End If
     
    Dim rg As Range
    Dim i As Integer
     
    Set rg = Sheets("ETAT NEWEDGE").Range("A:A").Find(selectedFund)
     
    If rg Is Nothing Then 'ne devrait pas se produire
        Unload Me
    End If
     
    i = 3
    Do While rg.Offset(0, i).Value <> ""
        ListBox1.AddItem rg.Offset(0, i).Value
        i = i + 1
    Loop
     
    End Sub

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Par défaut Blocage
    Merci
    En fait, c est quand je sélectionne le ptf dans le userform1, le userform2 doit s afficher avec dans la listbox toutes les devises contenues dans la même ligne sheets(état newedge). L idee c est de pouvoir rajouter une devise qui n existe pas dans la même ligne.
    Y espère que j au été claire

  4. #4
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Tu n'as pas du voir mon deuxième message, il me semble que c'est ce que ça fait

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Par défaut
    C est ce qu'on appelle répondre du tac o tac
    Je vais tester chez moi, ça la l aire prometteur
    Merci encore d t être pencher sur mon problème
    Je te tiens au courant.
    Nb: c est un morceau de mon programme que je fais en vb6
    En principe, c est les mêmes codes, mais à part les userform à remplacer par form, et les listbox à remplacer par list

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Par défaut
    Bonjour Seb,
    Ton code marche très bien vba, mais quand j'ai essayé de l adapter à mon programme vb6 ça bloque au niveau de la

    Form2.selectedFund = List1.Value
    Form2.InitForm

    List1.value est en erreur. J au essayé de mettre list1.text mais ça bloque à la ligne suivante: form2.InitForm, c est comme si il ne reconnaît pas l'instruction

    Merci encore

  7. #7
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    List1, c'est quoi comme contrôle pour que tu n'aies pas accès à la propriété value ?
    Pour le initForm, c'est une procédure que j'ai créée, donc il faut bien que tu l'aies écrite dans le code de userForm2 et que userForm2 soit chargé.

Discussions similaires

  1. [SP-2010] Problème de liens entre deux listes.
    Par Hedu08 dans le forum SharePoint
    Réponses: 3
    Dernier message: 15/03/2012, 13h09
  2. [XI] Problème de lien entre deux tables
    Par campia dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 29/09/2007, 04h49
  3. lien entre deux sous formulaire :(
    Par souska dans le forum Access
    Réponses: 4
    Dernier message: 20/09/2005, 21h37
  4. Type de lien entre deux associations
    Par thibal dans le forum PowerAMC
    Réponses: 2
    Dernier message: 17/06/2005, 16h53
  5. [VB.NET] ComboBox lien entre deux tables
    Par VDB1 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/07/2004, 12h15

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