Je pige pas... J'ai fais le test chez moi en passant le nom d'une variable comme toi et ça passe très bien...

Je vais revenir sur ma première idée : Même avec plusieurs combo différentes, tu peux utiliser la position de ton champs et dans ta fonction mettre
.AddItem rstRemplirCombo(0)
.ItemData(.NewIndex) = rstRemplirCombo(1)
0 correspondant
toujours à sChamps et 1 à sIndex et ce même si tu as plusieurs enregistrement dans ton recordset.

Nono
-------------------------------
Réponse au message :
-------------------------------
>
> Ca marche pas non plus le problème c'est de lui dire ke c'est une varaible et nonle nom du champs tel quel
> !è!!

>
APTech
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Sinon essaye de "caster" ta variable :
> > .AddItem rstRemplirCombo.Fields(CStr(sChamps))
> >
> >

Nono
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > >
> > > Oui mais y a pas une solution avec le nom du champs
> > >
> > > cr j'utilise cette procedure pour plusieur combo different
> > >
> > >
APTech
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Tu peux toujours faire :
> > > > .AddItem rstRemplirCombo.Fields(0)
> > > >
> > > > ceci te récupère le premier élément de ton select (1 pour le deuxième et ainsi de suite...)
> > > >
> > > >

Nono
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Bonjour j'ai créer une procedurevpour remplir un combo box
> > > > >
> > > > > je passe en parametre, le nom du combo, le nom de la table, le nom du champs et le nom du champs d'index
> > > > >
> > > > > à la ligne
> > > > > .AddItem rstRemplirCombo.Fields(sChamps)
> > > > >
> > > > > de la procedure si dessu, il me dit qu'il ne connais pas l'objet sChamps, donc il ne detecte pas que sChamps est une variable et donc il cherche sChamps dans le RecordSet et bien entendu il le trouve pas car c'est le nom d'une variable qui contient le nom du champs adequat
> > > > >
> > > > > Que faire pour résoudre cela c'est assez urgent
> > > > >
> > > > > merci de votre aide
> > > > >
> > > > >
> > > > > Public Sub RemplirCombo(sComboName, sTable, sChamps, sIndex)
> > > > > Dim rstRemplirCombo As New ADODB.Recordset
> > > > > Dim sSQL As String
> > > > >
> > > > >
> > > > > Set rstRemplirCombo = CreateObject("ADODB.RecordSet")
> > > > > sSQL = "SELECT " & sChamps & "," & sIndex & " FROM " & sTable & " ORDER by " & sChamps & ";"
> > > > >
> > > > > rstRemplirCombo.CursorLocation = adUseClient
> > > > > rstRemplirCombo.Open sSQL, cnn, adOpenForwardOnly, adLockReadOnly
> > > > > With sComboName
> > > > > Do Until rstRemplirCombo.EOF
> > > > > .AddItem rstRemplirCombo.Fields(sChamps)
> > > > > .ItemData(.NewIndex) = rstRemplirCombo.Fields(sIndex)
> > > > > rstRemplirCombo.MoveNext
> > > > > Loop
> > > > > .Text = ""
> > > > > End With
> > > > > rstRemplirCombo.Close
> > > > > End Sub
> > > > >
> > > > >
APTech
> > > >
> > >
> >
>