Récupérer dans un listBox d'un Userform valeurs d'une collonne

papirus39 Messages postés 4 Date d'inscription dimanche 21 septembre 2008 Statut Membre Dernière intervention 20 septembre 2009 - 20 sept. 2009 à 01:06
papirus39 Messages postés 4 Date d'inscription dimanche 21 septembre 2008 Statut Membre Dernière intervention 20 septembre 2009 - 20 sept. 2009 à 16:05
Bonsoir le Forum,
Je voudrais récupérer dans une zone de liste les valeurs d'une colonne qui sont égales à la valeur d'une autre colonne sur la même ligne.
JE PRÉCISE :
ex. colA a comme valeurs en ligne1=coucou, ligne2=cadran, ligne3=coucou; colB a comme valeurs en ligne1=100, ligne2=125, ligne3=150.
Je veux récupérer dans une zone de liste d'un formulaire les valeurs de la colonne B.
Si je recherche coucou, je devrais populer ma liste avec les VALEURS 100 et 150.

Quelqu'un pourrait m'aider svp?

papirus39

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
20 sept. 2009 à 03:52
Salut
Si tu recherches la colonne à droite d'une autre, utilise .Offset
Tu boucles sur chaque ligne de colonne A
Dim maCell As Object
For Each maCell in Range("A:A")
  If maCell.Value = "coucou" Then
    maListBox.Add maCell.Offset(0, 1).Value
  End If
Next

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
papirus39 Messages postés 4 Date d'inscription dimanche 21 septembre 2008 Statut Membre Dernière intervention 20 septembre 2009
20 sept. 2009 à 04:41
Bonsoir le Forum, Bonsoir Vala,
Merci pour la réponse. Je vais tenter d'incorporer ça dans mon code et je reviens.
C'est exactement ce que je veux faire.
a+
papirus39
0
papirus39 Messages postés 4 Date d'inscription dimanche 21 septembre 2008 Statut Membre Dernière intervention 20 septembre 2009
20 sept. 2009 à 05:26
Bonsoir le Forum, Bonsoir Vala,

J'ai esssayé d'adapter à mon code :
et je reçois une erreur 9; l'indice n'appartient pas à la sélection. Pourtant ma feuille existe bien et c'est le bon nom.
Dim maCell As Object
For Each maCell In Worksheets("DetailSoumission").Range("A:A")
If maCell.Value = "R" Then
ContSoumission.AddItem maCell.Offset(0, 1).Value
End If
Next

papirus39
0
papirus39 Messages postés 4 Date d'inscription dimanche 21 septembre 2008 Statut Membre Dernière intervention 20 septembre 2009
20 sept. 2009 à 16:05
Bonjour le Forum, Bonjour Vala,

Comme j'avais dit dans un message : C'est exactement ce que je cherchais.

J'ai réussi à contrôler l'erreur. J'ai changer la propriété Name de la feuille pour lui donner son vraie nom. De plus, j'ai recopier ( copier/coller) le nom de la feuille. Je crois qu'il y avait une erreur là. Quelque caractère invisible qui changeait le véritable nom de la feuille. Malheureusement une erreur imperceptible qu'il faut faire avec mais qui donne de gros maux de tête.

Le cas est résolu.

Un gros MERCI, ça me permet d'avancer mon travail.

papirus39
0
Rejoignez-nous