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 :

probleme de boucle [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Par défaut probleme de boucle
    bonjour a tous

    j'ai une boucle qui concerne 10 combobox (cmb-ref1 à 10)

    cette boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    For i = 1 To 10
    reference = Me.Controls("cmb_ref" & i).Text
        Cells.Find(What:=reference, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext).Activate
    libelle = ActiveCell.Offset(0, 1).Text
    Me.Controls("txt_lib" & i).Text = libelle
    prix = ActiveCell.Offset(0, 3).Value
    Me.Controls("txt_prix" & i).Value = prix
    Next i
    je ne sais pas comment la placé en évenement pour qu'elle fonctionne à chaque changement dans une des 10 combobox

  2. #2
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    tu en fais une procédure à part et tu l'appelles avec les bons paramètres à partir des change de tes combo...

    cordialement,

    Didier

  3. #3
    Membre éclairé Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Par défaut
    merci de venir m'aider
    mais je ne comprend pas bien ce que tu veux dire

    dois-je éviter de faire une boucle et de mettre la procédure dans chaque "combobox change" ? donc dupliquer le code 10 fois exclusivement pour chaque combo ?

  4. #4
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    bonjour ,

    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
    Dim strPassNamecbo
    Dim lngNumCol As Long
     
    Private Sub ComboBox1_Change()
    strPassNamecbo = "ComboBox1"
    lngNumCol = 5
    Call ToutEnUn(strPassNamecbo, lngNumCol)
     
    End Sub
     
    Private Sub ComboBox2_Change()
    strPassNamecbo = "ComboBox2"
    lngNumCol = 9
    Call ToutEnUn(strPassNamecbo, lngNumCol)
     
    End Sub
     
    Sub ToutEnUn(strPassNamecbo, lngNumCol)
    Cells(5, lngNumCol) = Me.Controls(strPassNamecbo).Value
    End Sub
    cordialement,

    Didier

  5. #5
    Membre éclairé Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Par défaut
    je suis désolé de ne pas comprendre

    je ne comment pas le fonctionnement finale de ton code, qu'est-ce que tu obtiens car je ne vois pas comment les combobox sont alimenté

  6. #6
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    je ne vois pas comment les combobox sont alimenté
    ça n'a pas d'importance, tu les alimentes comme tu veux, dans ce cas-ci j'ai mis de façon native dans la propriété Rowsource Toto et Zozo qui sont 2 noms de plage de liste données à 10 cellules en vertical.

    C'est un cas de figure, avant d'invoquer un change tu as bien alimenté tes combos ?

    cordialement,

    Didier

  7. #7
    Membre éclairé Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Par défaut
    ok, merci
    mais je suis obligé quand même de répéter la manip dans cmb-ref_change de 1 à 10

  8. #8
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Ben oui, comme tu dois créer tes 10 combo etc...

    intérêt : tu n'as que quelques lignes à mettre par combo et un noyau commun qui fait que quand il y aura un changement au niveau noyau, tu n'as qu'un code à retoucher et tu ne risques pas d'en oublier ou de faire un copier coller non relatif..

    Sinon tu peux regarder de ce côté là si ça peut convenir :

    Ce tutoriel montre comment manipuler l'éditeur de macros Excel ... par macro.

    cordialement,

    Didier

  9. #9
    Membre éclairé Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Par défaut
    sinon en trichant un peu, en mettant la procédure dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    j'ai pus mettrez la boucle qui s'active sur les 10 combobox, mais pas en synchro lorsque je choisis un éléments dans la combobox, donc tans pis ce n'est pas possible comme je comptais le faire

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

Discussions similaires

  1. Probleme de boucle a s arracher les cheuveux
    Par calimero642 dans le forum Langage
    Réponses: 6
    Dernier message: 16/03/2006, 15h44
  2. Probleme de boucle avec des processus sous UNIX
    Par sebastieng dans le forum POSIX
    Réponses: 6
    Dernier message: 15/10/2005, 19h57
  3. [Language]Problème de boucle
    Par marc_dd dans le forum Langage
    Réponses: 11
    Dernier message: 06/10/2005, 15h24
  4. Problem de boucle.....
    Par skad dans le forum C++
    Réponses: 6
    Dernier message: 29/09/2005, 17h28
  5. [C#] Probleme de boucle for et random
    Par Freeman166 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 09/01/2005, 15h34

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