Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Userform listbox

  • Initiateur de la discussion Initiateur de la discussion nherambo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nherambo

Guest
Bonjour à tous,

J'ai un problème sur le fichier ci joint. Je pense que la structure de mon code VBA n'est pas bonne.

Concrètement, mon objectif est qu'en entrant ma donnée dans "number", il me renvoie plusieurs données correspondantes dans la listbox : number, correspondance, equivalence, montant.
Or il me renvoie toutes les valeurs.

Je suis ouvert à toutes vos remarques et si vous avez des questions je pourrais repréciser mes propos.

Merci pour votre aide.

Nherambo
 

Pièces jointes

Re : Userform listbox

Bonjour,

Pour ça, pas de problème. Par contre si tu regardes mon fichier de plus près, tu verras que la valeur de la colonne 4 ne correspond pas à la bonne valeur. Et je ne sais pas comment corriger ça
 
Re : Userform listbox

Bonjour nherambo, Denis, le Forum,

Voici comment moi je verrais la chose:

Premièrement, je remplacerais la procédure Number_AfterUpdate par l'événement number_Change.

Ensuite, je modifierais le code comme suit:

Code:
Private Sub Number_AfterUpdate()

End Sub

Private Sub number_Change()
Maligne = Sheets("Sheet1").Range("A3000").End(xlUp).Row + 1
Sheets("Sheet1").Range("A" & Maligne) = Me.number


Dim F1 As Worksheet
Set F1 = Sheets("Sheet2")
Dim F2 As Worksheet
Set F2 = Sheets("Sheet3")
Dim Cel As Range
With Me.ListBox1
    .Clear
    .ColumnCount = 4
    .ColumnWidths = "40;40;40"
    For Each Cel In F1.Range("B:B").SpecialCells(xlCellTypeConstants)
      If Cel.Text = number.Value Then
        .AddItem Cel.Value
        .List(.ListCount - 1, 1) = Cel.Offset(0, 1).Value
        .List(.ListCount - 1, 2) = Cel.Offset(0, 3).Value
        .List(.ListCount - 1, 3) = Cel.Offset(0, 11).Value
      End If
    Next

End With
End Sub
A +

Cordialement.
 
Re : Userform listbox

Bonjour Papou-net, Denis, le Forum,

Merci pour vos réponses. Mon problème maintenant est que je n'arrive pas à afficher la colonne amount qui se trouve sur le feuille 3 en colonne M. Et c'est là ma principale difficulté étant donné qu'il faut faire référence à une autre feuille.

Merci pour vos suggestions

Nherambo
 
Re : Userform listbox

RE:

OK, alors essaie comme ceci, ça devrait fonctionner:

Code:
Private Sub number_Change()
Maligne = Sheets("Sheet1").Range("A3000").End(xlUp).Row + 1
Sheets("Sheet1").Range("A" & Maligne) = Me.number

Dim F1 As Worksheet
Set F1 = Sheets("Sheet2")
Dim F2 As Worksheet
Set F2 = Sheets("Sheet3")
Dim Cel As Range, Comb As Range

With Me.ListBox1
    .Clear
    .ColumnCount = 4
    .ColumnWidths = "40;40;40"
    For Each Cel In F1.Range("B:B").SpecialCells(xlCellTypeConstants)
      If Cel.Text = number.Value Then
        .AddItem Cel.Value
        .List(.ListCount - 1, 1) = Cel.Offset(0, 1).Value
        .List(.ListCount - 1, 2) = Cel.Offset(0, 3).Value
        Set Comb = F2.Range("A:A").Find(Cel.Value, LookIn:=xlValues, lookat:=xlWhole)
        If Not Comb Is Nothing Then
          .List(.ListCount - 1, 3) = Comb.Offset(0, 12).Value
        End If
      End If
    Next

End With
End Sub
Cordialement.
 
Re : Userform listbox

Re Papou-net,

Je viens d'essayer ton code en ajoutant une largeur de colonne pour l'affichage de la 4ème colonne de ma listbox. Mais le montant de la colonne M ne s'affiche pas encore dans la listbox.

A+
 

Pièces jointes

Re : Userform listbox

Re Papou-net,

Je viens d'essayer ton code en ajoutant une largeur de colonne pour l'affichage de la 4ème colonne de ma listbox. Mais le montant de la colonne M ne s'affiche pas encore dans la listbox.

A+

RE:

En es-tu certain, car moi je vois bien l'affichage du montant dans la ListBox ?

Ou bien je n'ai pas compris le problème.

A +

Cordialement.

PS: la copie d'écran jointe correspond à l'utilisation du fichier joint dans ton dernier message.
 

Pièces jointes

  • MyFile-2.jpg
    46.7 KB · Affichages: 60
Dernière édition:
Re : Userform listbox

Re :
Essaye avec le nombre 4, pour ma part je n'ai pas de montant qui apparaissent.
Là où je bloque, c'est que pour renvoyer le montant, il faut faire référence au numéro de combinaison qui lui-même se réfère au nombre "number" saisi.
Je m'excuse de ne pas avoir clarifié mon problème plus tôt.

A+
 
Re : Userform listbox

RE:

Ah ben voilà, c'est plus clair à présent.

Voici comment modifier le code:

Code:
Private Sub number_Change()
Maligne = Sheets("Sheet1").Range("A3000").End(xlUp).Row + 1
Sheets("Sheet1").Range("A" & Maligne) = Me.number

Dim F1 As Worksheet
Set F1 = Sheets("Sheet2")
Dim F2 As Worksheet
Set F2 = Sheets("Sheet3")
Dim Cel As Range, Comb As Range

With Me.ListBox1
    .Clear
    .ColumnCount = 4
    .ColumnWidths = "40;40;40"
    For Each Cel In F1.Range("B:B").SpecialCells(xlCellTypeConstants)
      If Cel.Text = number.Value Then
        .AddItem Cel.Value
        .List(.ListCount - 1, 1) = Cel.Offset(0, 1).Value
        .List(.ListCount - 1, 2) = Cel.Offset(0, 3).Value
        Set Comb = F2.Range("A:A").Find(Cel.Offset(0, 2).Value, LookIn:=xlValues, lookat:=xlWhole)
        If Not Comb Is Nothing Then
          .List(.ListCount - 1, 3) = Comb.Offset(0, 12).Value
        End If
      End If
    Next

End With
End Sub
Bon WE.

Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
761
A
Réponses
11
Affichages
2 K
A
Réponses
13
Affichages
2 K
K
Réponses
12
Affichages
2 K
T
  • Question Question
Réponses
7
Affichages
2 K
F
Réponses
6
Affichages
791
FANNYDAURAT
F
K
Réponses
38
Affichages
10 K
kinders59
K
  • Question Question
Microsoft 365 Protect/Unprotect
Réponses
18
Affichages
3 K
T
Réponses
1
Affichages
1 K
D
Réponses
6
Affichages
1 K
DukeDevlin
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…