je voudrais alimenter une ListBox en testant la valeur des 5 derniers
caractères d'une combobox dans la colonne C de la feuille Liste; je tente:
For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row
If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then
UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1)
End If
Next
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonjour. Où se trouve ce code ? Peut-être que ta listbox est réinitialisée au chargement de l'userform ? Cordialement. Daniel
Bonjour,
je voudrais alimenter une ListBox en testant la valeur des 5 derniers caractères d'une combobox dans la colonne C de la feuille Liste; je tente:
For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1) End If Next
mais la ListBox n'affiche pas les données
Merci de votre aide.
Bonjour.
Où se trouve ce code ? Peut-être que ta listbox est réinitialisée au
chargement de l'userform ?
Cordialement.
Daniel
Bonjour,
je voudrais alimenter une ListBox en testant la valeur des 5 derniers
caractères d'une combobox dans la colonne C de la feuille Liste; je tente:
For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row
If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then
UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1)
End If
Next
Bonjour. Où se trouve ce code ? Peut-être que ta listbox est réinitialisée au chargement de l'userform ? Cordialement. Daniel
Bonjour,
je voudrais alimenter une ListBox en testant la valeur des 5 derniers caractères d'une combobox dans la colonne C de la feuille Liste; je tente:
For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1) End If Next
mais la ListBox n'affiche pas les données
Merci de votre aide.
Tendasque
L'userform a une combobox et une listbox. Ce code est celui de la combo; il fonctionnait très bien sous cette forme:
Private Sub ComboBox1_Change() For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row If Sheets("Liste").Cells(k, 19) = ComboBox1.Value Then UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1) End If Next End Sub
la combo affichait un nom; j'ai modifié l'affichage dans la combo qui affiche maintenant le nom + un code en 5 chiffres et je voudrais que la recherche se fasse sur ce code qui est en colonne C de la feuille Liste c'est pour cela que j'ai remplacé: If Sheets("Liste").Cells(k, 19) = ComboBox1.Value Then par: If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then
y a-t-il un pb de syntaxe ? un pb de texte/nombre ?
"Daniel.C" a écrit dans le message de news:
Bonjour. Où se trouve ce code ? Peut-être que ta listbox est réinitialisée au chargement de l'userform ? Cordialement. Daniel
Bonjour,
je voudrais alimenter une ListBox en testant la valeur des 5 derniers caractères d'une combobox dans la colonne C de la feuille Liste; je tente:
For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1) End If Next
mais la ListBox n'affiche pas les données
Merci de votre aide.
L'userform a une combobox et une listbox.
Ce code est celui de la combo; il fonctionnait très bien sous cette forme:
Private Sub ComboBox1_Change()
For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row
If Sheets("Liste").Cells(k, 19) = ComboBox1.Value Then
UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1)
End If
Next
End Sub
la combo affichait un nom; j'ai modifié l'affichage dans la combo qui
affiche maintenant le nom + un code en 5 chiffres et je voudrais que la
recherche se fasse sur ce code qui est en colonne C de la feuille Liste
c'est pour cela que j'ai remplacé:
If Sheets("Liste").Cells(k, 19) = ComboBox1.Value Then
par:
If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then
y a-t-il un pb de syntaxe ? un pb de texte/nombre ?
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
uJUEMJrwKHA.5340@TK2MSFTNGP04.phx.gbl...
Bonjour.
Où se trouve ce code ? Peut-être que ta listbox est réinitialisée au
chargement de l'userform ?
Cordialement.
Daniel
Bonjour,
je voudrais alimenter une ListBox en testant la valeur des 5 derniers
caractères d'une combobox dans la colonne C de la feuille Liste; je
tente:
For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row
If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then
UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1)
End If
Next
L'userform a une combobox et une listbox. Ce code est celui de la combo; il fonctionnait très bien sous cette forme:
Private Sub ComboBox1_Change() For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row If Sheets("Liste").Cells(k, 19) = ComboBox1.Value Then UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1) End If Next End Sub
la combo affichait un nom; j'ai modifié l'affichage dans la combo qui affiche maintenant le nom + un code en 5 chiffres et je voudrais que la recherche se fasse sur ce code qui est en colonne C de la feuille Liste c'est pour cela que j'ai remplacé: If Sheets("Liste").Cells(k, 19) = ComboBox1.Value Then par: If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then
y a-t-il un pb de syntaxe ? un pb de texte/nombre ?
"Daniel.C" a écrit dans le message de news:
Bonjour. Où se trouve ce code ? Peut-être que ta listbox est réinitialisée au chargement de l'userform ? Cordialement. Daniel
Bonjour,
je voudrais alimenter une ListBox en testant la valeur des 5 derniers caractères d'une combobox dans la colonne C de la feuille Liste; je tente:
For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1) End If Next
mais la ListBox n'affiche pas les données
Merci de votre aide.
Hervé
Bonjour Tendasque,
Avant tu comparais deux strings puisque c'était des noms, maintenant, tu compare deux numéros de code dont l'un est considéré comme string dans le combo et numérique dans la feuille. Essai ce qui suit, il y a une conversion de type :
Private Sub ComboBox1_Change()
Dim Plage As Range Dim Cel As Range
With Worksheets("Liste") Set Plage = .Range(.[A1], .[A65536].End(xlUp)) End With
For Each Cel In Plage If CStr(Cel.Offset(0, 18)) = ComboBox1.Value Then UserForm1.ListBox1.AddItem Cel End If Next
End Sub
Hervé.
"Tendasque" <unss34(a_enlever)@free.fr> a écrit dans le message de news:O%
Bonjour,
je voudrais alimenter une ListBox en testant la valeur des 5 derniers caractères d'une combobox dans la colonne C de la feuille Liste; je tente:
For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1) End If Next
mais la ListBox n'affiche pas les données
Merci de votre aide.
Bonjour Tendasque,
Avant tu comparais deux strings puisque c'était des noms, maintenant, tu
compare deux numéros de code dont l'un est considéré comme string dans le
combo et numérique dans la feuille. Essai ce qui suit, il y a une conversion
de type :
Private Sub ComboBox1_Change()
Dim Plage As Range
Dim Cel As Range
With Worksheets("Liste")
Set Plage = .Range(.[A1], .[A65536].End(xlUp))
End With
For Each Cel In Plage
If CStr(Cel.Offset(0, 18)) = ComboBox1.Value Then
UserForm1.ListBox1.AddItem Cel
End If
Next
End Sub
Hervé.
"Tendasque" <unss34(a_enlever)@free.fr> a écrit dans le message de
news:O%233XspqwKHA.3896@TK2MSFTNGP02.phx.gbl...
Bonjour,
je voudrais alimenter une ListBox en testant la valeur des 5 derniers
caractères d'une combobox dans la colonne C de la feuille Liste; je tente:
For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row
If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then
UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1)
End If
Next
Avant tu comparais deux strings puisque c'était des noms, maintenant, tu compare deux numéros de code dont l'un est considéré comme string dans le combo et numérique dans la feuille. Essai ce qui suit, il y a une conversion de type :
Private Sub ComboBox1_Change()
Dim Plage As Range Dim Cel As Range
With Worksheets("Liste") Set Plage = .Range(.[A1], .[A65536].End(xlUp)) End With
For Each Cel In Plage If CStr(Cel.Offset(0, 18)) = ComboBox1.Value Then UserForm1.ListBox1.AddItem Cel End If Next
End Sub
Hervé.
"Tendasque" <unss34(a_enlever)@free.fr> a écrit dans le message de news:O%
Bonjour,
je voudrais alimenter une ListBox en testant la valeur des 5 derniers caractères d'une combobox dans la colonne C de la feuille Liste; je tente:
For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1) End If Next
mais la ListBox n'affiche pas les données
Merci de votre aide.
Tendasque
Merci, Hervé j'ai adapté ainsi:
Private Sub ComboBox1_Change()
Dim Plage As Range Dim Cel As Range
With Worksheets("Liste") Set Plage = .Range(.[C1], .[C65536].End(xlUp)) End With
For Each Cel In Plage If CStr(Cel) = Right(ComboBox1.Value, 5) Then UserForm1.ListBox1.AddItem Cel.Offset(0, -2) End If Next
End Sub
cela fonctionne; le code est bien un nombre; ce qui m'a trompé, c'est que dans le fichier original, issu d'une inscription en ligne, bien que le code soit sur 5 chiffres (ex: 11345), il se présente sous un format texte (il est aligné à gauche, et c'est ce que me fait remarquer Excel: "le nombre dans cette cellule est au format texte...") je pensais à tort que j'étais bien en présence d'une chaine de caractères, et qu'il était inutile de le convertir en texte...
Merci encore et bon dimanche
"Hervé" a écrit dans le message de news:
Bonjour Tendasque,
Avant tu comparais deux strings puisque c'était des noms, maintenant, tu compare deux numéros de code dont l'un est considéré comme string dans le combo et numérique dans la feuille. Essai ce qui suit, il y a une conversion de type :
Private Sub ComboBox1_Change()
Dim Plage As Range Dim Cel As Range
With Worksheets("Liste") Set Plage = .Range(.[A1], .[A65536].End(xlUp)) End With
For Each Cel In Plage If CStr(Cel.Offset(0, 18)) = ComboBox1.Value Then UserForm1.ListBox1.AddItem Cel End If Next
End Sub
Hervé.
"Tendasque" <unss34(a_enlever)@free.fr> a écrit dans le message de news:O%
Bonjour,
je voudrais alimenter une ListBox en testant la valeur des 5 derniers caractères d'une combobox dans la colonne C de la feuille Liste; je tente:
For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1) End If Next
mais la ListBox n'affiche pas les données
Merci de votre aide.
Merci, Hervé
j'ai adapté ainsi:
Private Sub ComboBox1_Change()
Dim Plage As Range
Dim Cel As Range
With Worksheets("Liste")
Set Plage = .Range(.[C1], .[C65536].End(xlUp))
End With
For Each Cel In Plage
If CStr(Cel) = Right(ComboBox1.Value, 5) Then
UserForm1.ListBox1.AddItem Cel.Offset(0, -2)
End If
Next
End Sub
cela fonctionne; le code est bien un nombre; ce qui m'a trompé, c'est que
dans le fichier original, issu d'une inscription en ligne, bien que le code
soit sur 5 chiffres (ex: 11345), il se présente sous un format texte (il est
aligné à gauche, et c'est ce que me fait remarquer Excel: "le nombre dans
cette cellule est au format texte...") je pensais à tort que j'étais bien en
présence d'une chaine de caractères, et qu'il était inutile de le convertir
en texte...
Merci encore et bon dimanche
"Hervé" <silve-herve@orange.fr> a écrit dans le message de news:
F106BB3E-5891-443D-8F2F-F154FB587030@microsoft.com...
Bonjour Tendasque,
Avant tu comparais deux strings puisque c'était des noms, maintenant, tu
compare deux numéros de code dont l'un est considéré comme string dans le
combo et numérique dans la feuille. Essai ce qui suit, il y a une
conversion de type :
Private Sub ComboBox1_Change()
Dim Plage As Range
Dim Cel As Range
With Worksheets("Liste")
Set Plage = .Range(.[A1], .[A65536].End(xlUp))
End With
For Each Cel In Plage
If CStr(Cel.Offset(0, 18)) = ComboBox1.Value Then
UserForm1.ListBox1.AddItem Cel
End If
Next
End Sub
Hervé.
"Tendasque" <unss34(a_enlever)@free.fr> a écrit dans le message de
news:O%233XspqwKHA.3896@TK2MSFTNGP02.phx.gbl...
Bonjour,
je voudrais alimenter une ListBox en testant la valeur des 5 derniers
caractères d'une combobox dans la colonne C de la feuille Liste; je
tente:
For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row
If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then
UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1)
End If
Next
With Worksheets("Liste") Set Plage = .Range(.[C1], .[C65536].End(xlUp)) End With
For Each Cel In Plage If CStr(Cel) = Right(ComboBox1.Value, 5) Then UserForm1.ListBox1.AddItem Cel.Offset(0, -2) End If Next
End Sub
cela fonctionne; le code est bien un nombre; ce qui m'a trompé, c'est que dans le fichier original, issu d'une inscription en ligne, bien que le code soit sur 5 chiffres (ex: 11345), il se présente sous un format texte (il est aligné à gauche, et c'est ce que me fait remarquer Excel: "le nombre dans cette cellule est au format texte...") je pensais à tort que j'étais bien en présence d'une chaine de caractères, et qu'il était inutile de le convertir en texte...
Merci encore et bon dimanche
"Hervé" a écrit dans le message de news:
Bonjour Tendasque,
Avant tu comparais deux strings puisque c'était des noms, maintenant, tu compare deux numéros de code dont l'un est considéré comme string dans le combo et numérique dans la feuille. Essai ce qui suit, il y a une conversion de type :
Private Sub ComboBox1_Change()
Dim Plage As Range Dim Cel As Range
With Worksheets("Liste") Set Plage = .Range(.[A1], .[A65536].End(xlUp)) End With
For Each Cel In Plage If CStr(Cel.Offset(0, 18)) = ComboBox1.Value Then UserForm1.ListBox1.AddItem Cel End If Next
End Sub
Hervé.
"Tendasque" <unss34(a_enlever)@free.fr> a écrit dans le message de news:O%
Bonjour,
je voudrais alimenter une ListBox en testant la valeur des 5 derniers caractères d'une combobox dans la colonne C de la feuille Liste; je tente:
For k = 1 To Sheets("Liste").[A65536].End(xlUp).Row If Sheets("Liste").Cells(k, 3) = Right(ComboBox1.Value, 5) Then UserForm1.ListBox1.AddItem Sheets("Liste").Cells(k, 1) End If Next