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 :

Récupérer la valeur de 2 colonnes de la ligne sélectionnée dans une ListBox [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 143
    Points : 106
    Points
    106
    Par défaut Récupérer la valeur de 2 colonnes de la ligne sélectionnée dans une ListBox
    Bonjour,

    Il s'agit de réaliser une action toute bête pour lequel je planche depuis un moment et je n'obtient que des erreurs.

    Pour comprendre j'ai un form dans lequel la saisi d'un textbox ne se fait que par une liste . J'appuie sur un bouton qui génère ce code :
    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
    Private Sub boutmodca_Click()
     
    deb = 5
    fin = Sheets("ca").Range("f3").Value + 5
     
    Load AJOUTER
     
    AJOUTER.titre.Caption = "SELECTION DU CHARGES D AFFAIRES"
    AJOUTER.ListBox1.RowSource = ("ca!a" & deb & ":b" & fin)
    AJOUTER.boutajout.Visible = False
     
    AJOUTER.Show vbModal
     
    DOSSIER.saisica.Value = AJOUTER.ListBox1.List(ListBox1.ListIndex, 0) & " " & AJOUTER.ListBox1.List(ListBox1.ListIndex, 1)
    Unload AJOUTER
     
    End Sub
    Le but pour ce textbox est de saisir nom + espace + prénom de la listbox dans un autre form . Dans la listbox le nom est en colonne 1 et le prénom en colonne 2.

    Pour cet essai j'obtiens l'erreur "erreurr d'éxécution 424, objet requis"
    J'ai trouvé cette formulation dans le tutoriel du site.
    Il semble être incomplet.

    Avez vous une idée concernant la ligne DOSSIER.saisica.Value = AJOUTER.ListBox1.List(ListBox1.ListIndex, 0) & " " & AJOUTER.ListBox1.List(ListBox1.ListIndex, 1) ?


    Merci pour votre aide

  2. #2
    Membre éprouvé
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Points : 1 124
    Points
    1 124
    Par défaut
    Bonjour,
    Commences par définir toutes tes variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim xyz As Range, XYZ As Integer
    et ajoute en haut de ton module
    C'est un peu contraignant au début mais on s'y fait vite et cela te facilite grandement la tache pour trouver les erreurs dans ton code.
    Par exemple si tu écris
    et que dans ton code tu écris tu aura un message d'erreur.
    Comme tu seras certain d'avoir déclaré ta variable, tu pourras plus rapidement trouver la faute de syntaxe.
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

  3. #3
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 143
    Points : 106
    Points
    106
    Par défaut Problème variable
    Bonjour Eric,

    J'avais déclaré les variables mais sans sur le module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Option Explicit
     
    Dim deb As Integer
    Dim fin As Integer
    Dim li As Integer
    Dim numerocli As Integer
    Dim i As Integer
    Un problème de variable non définie apparaît maintenant avec le rajout de option explicit.
    Seul cette sub ne fonctionne pas et je ne voit pas dans mon code une autre variable
    là je câle !!!!

    merci pour ton aide

    christophe

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    bonsoir,

    sur qu'elle ligne l'erreur ?

    c'est quoi "DOSSIER" ?

  5. #5
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 143
    Points : 106
    Points
    106
    Par défaut
    Bonsoir,

    Depuis que j'ai rajouté option explicit il m'indique le titre sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub boutmodca_Click()
    Au début de cette discussion le problème était sur cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DOSSIER.saisica.Value = AJOUTER.ListBox1.List(ListBox1.ListIndex, 0) & " " & AJOUTER.ListBox1.List(ListBox1.ListIndex, 1)
    "AJOUTER" est le form qui a la listbox
    "DOSSIER" est le form qui contient le textbox "saisieca" destinataire de la compilation que je veux faire "nom prénom"

    merci pour votre aide

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    et ListBox1 ? pouquoi quelque-fois tu précise la form concernée et d'autre-fois non ?

  7. #7
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 143
    Points : 106
    Points
    106
    Par défaut
    PAS MAL CELLE LA D ERREUR

    Celà m'apprendra à recopier !!!!!!

    ce code fonctionne :
    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
    Private Sub boutmodca_Click()
     
    deb = 5
    fin = Sheets("ca").Range("f3").Value + 5
     
    Load AJOUTER
     
    AJOUTER.titre.Caption = "SELECTION DU CHARGE D AFFAIRES"
    AJOUTER.ListBox1.RowSource = ("ca!a" & deb & ":b" & fin)
    AJOUTER.boutajout.Visible = False
     
    AJOUTER.Show vbModal
     
    DOSSIER.saisica.Value = AJOUTER.ListBox1.List(AJOUTER.ListBox1.ListIndex, 0) & " " & AJOUTER.ListBox1.List(AJOUTER.ListBox1.ListIndex, 1)
    Unload AJOUTER
     
    End Sub
    Un grand merci bbil !!!

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

Discussions similaires

  1. [XL-2003] Récupérer une valeur calculée sur un sheet pour le renvoyer dans une listbox
    Par Thierry2B dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/01/2011, 09h55
  2. Réponses: 3
    Dernier message: 29/09/2009, 20h58
  3. Réponses: 1
    Dernier message: 16/05/2007, 12h51
  4. Réponses: 1
    Dernier message: 18/05/2006, 11h37
  5. Récupérer la ligne sélectionnée dans un ListBox
    Par jmjmjm dans le forum Composants VCL
    Réponses: 3
    Dernier message: 11/11/2005, 22h13

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