XL 2016 .RowSource et Combobox

PaulTrax

XLDnaute Nouveau
Bonjour, aujourd'hui je n'arrive pas à alimenter mon combobox (liste_Ref) avec une des formules que j'ai pu trouver sur ce site .
Je dois souvent ajouter à ma feuille "Articles" des mise à jour et donc en ajouter.
Dans cette feuille, je retrouve tous mes articles et la liste alimente la combobox de mon Userform " Bon_de_commande".
voici le dernier code que j'ai essayé :

Private Sub UserForm_Initialize()
Liste_ref.RowSource = .Range("Articles!C2:C") & Sheets("Articles").Range("C1250").End(xlUp).Row
End Sub

pas de résultat!
j'ai écris cette macro aussi, même résultat!

Private Sub UserForm_Initialize()
Dim Art As Integer
Dim feui As String
feui = Sheets("Articles")
Art = "feuil & C2:C" & feuil.Range("C1250").End(xlUp).Row
Me.liste_ref.RowSource = Art
Me.liste_ref.ListIndex = 0

End Sub

merci pour le coup de main !!
 

PaulTrax

XLDnaute Nouveau
Merci jean marie,

j'ai repris ton code , le souci c'est que ma liste est fluctuante, suivant l'ajout de nouveaux articles.
J'ai essayé de varier ton code :

Private Sub Userform_Initialize()
Dim f
Set f = Sheets("Articles")
Set Rng= f.Range("C2:C" & .Range("C1250").End(xlUp).Row).Value
liste_ref.List = Rng.Address

End Sub

Toujours aucun effet !
 

Bebere

XLDnaute Barbatruc
bonjour

PaulTrax
si tu employes la propriété list de combonox ou listbox,il faut employer la propriété value de range
Private Sub Userform_Initialize()
Dim f
Set f = Sheets("Articles")
Set Rng= f.Range("C2:C" & .Range("C1250").End(xlUp).Row).Value
liste_ref.List = Rng.Value'Address

End Sub
 

ChTi160

XLDnaute Barbatruc
Bonjour PaulTrax
Bonjour Bebere ,le Forum
dans mon exemple il n y avait pas de
dans le
VB:
 Set Rng=f.Range(“C2:C”etc)
il faut aussi que tu mettes
VB:
f.Range(“C1250”).End(xlUp).Row
mais bon !
comme le dit Bebere
tu fais
VB:
Set Rng= f.Range("C2:C" & .Range("C1250").End(xlUp).Row)
sans .value
puis
liste_ref.List=Rng.value
non teste(pas d ordi)
jean marie
 
Dernière édition:

PaulTrax

XLDnaute Nouveau
Toujours pas de List sur mon combobox !!

voici ma macro sous tes conseils :

Private Sub Userform_Initialize()
Dim f
Set f = Sheets("Articles")
Set Rng= f.Range(“C1250”).End(xlUp).Row
liste_ref.List = Rng.Value'Address

End Sub
 

Bebere

XLDnaute Barbatruc
PaulTrax
cela veut dire que en tête de module tu as option explicit qui oblige à déclarer les variables
exemple dim rng as range
dans le code set rng=rnage("A1:C103")
touche fonction F1 pour de l'aide (curseur souris sur le mot clé)
 

PaulTrax

XLDnaute Nouveau
Merci pour cette solution
voici mon code

Option Explicit

Const entrees_decimales_permises = ".,0123456789" & vbCr & vbBack
Const Point = "."
Const Virgule = ","
Const entrees_slash = ".,/0'123456789-" & vbCr & vbBack
Dim Rng As Range

Private Sub Userform_Initialize()
Dim f
f = Sheets("Articles")
Set Rng = f.Range("C2:C" & .Range("C1250").End(xlUp).Row).Value
Liste_ref.List = Rng.Value 'Address

End Sub

Toujours rien !!! est ce que le fait d'avoir cette macro dans Liste-ref peut gêner la procédure??

Private Sub liste_ref_Change()

If Liste_ref <> "" Then
TextBox1.Value = Sheets("Articles").Cells(Liste_ref.ListIndex + 1, 4).Value
ajouter.Enabled = True
Else
TextBox1.Value = ""
ajouter.Enabled = False
End If

End Sub

A voir, merci d'avance!
 

ChTi160

XLDnaute Barbatruc
Re
Set Rng
represente une plage pas les valeurs dans cette plage.
et ensuite
.List=Rng.value,on recupere les valeurs de la plage.
tu dois avoir
VB:
Set Rng = f.Range("C2:C" & f.Range("C1250").End(xlUp).Row)
jean marie
 
Dernière édition:

PaulTrax

XLDnaute Nouveau
On y arrive !!! Presque!!

Un msgBox s'ouvre le voici en image.

Là!! je suis dans le flou complet !! et toujours rien dans ma liste référence..
Je suis navré Jean Marie..
Avertissement.jpg
 

Discussions similaires

Statistiques des forums

Discussions
311 724
Messages
2 081 937
Membres
101 844
dernier inscrit
pktla