Pb VBA indice/sélection

Bonjour !

j'ai un problème sur l'écriture d'un code en VBA pour Excel :

Voici le bout de code :

Dim Fournisseur As String
Fournisseur = ListeFournisseur.Text (ListeFournisseur est une combobox)
Sheets("BaseDonnee").Range [A2].Value = Fournisseur

Pb : le débogueur me dit que "l'indice n'appartient pas à la sélection". Ca veut dire quoi ? et comment faire pour que mon code marche enfin ?

merci

Alex

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. tu peux toujours essayer.
    Sheets("BaseDonnée").Range("A2").Select
    ActiveCell.FormulaR1C1 = Fournisseur
    Normallement ça marche mieux.

    le problème, c'est l'affichage de la feuille BaseDonnée qu'il faudrait éviter.je vais me pencher sur le problême.

    (Qui suis-je?).
    1. Contributeur
      Bonjour...

      Et bien le problème vient tout simplement du fait que l'option
      ListeFournisseur.Text 
      n'existe pas... En effet, une combo box, tu peux récupérer l'indice qui est en cours et ainsi récupérer le texte!
      Ecris comme ça:


      dim i as integer
      i= ListeFournisseur.ListIndex
      Fournisseur=ListeFournisseur.List(i)


      Et la, normalement, cela devrait marcher!!

      bon courage

      Maily   :-))))
      1. merci, beaucoup, de retour de week-end , je vais essayer tout de suite : verdict dans quelques minutes ! ;-))
        1. Alors, apparemment, ça doit marcher, mais...

          dans le même style , et dans le même code, j'ai aussi un champ "Marque" et "Remise" à enregistrer dans la feuille BaseDonnees. Alors, au complet, ce que j'ai écrit c'est ça :

          Private Sub BtnEnregistrer_Click()
          Dim Fournisseur As String
          Dim Marque As String
          Dim Remise As String
          Dim i As Integer
          Dim j As Integer
          Dim k As Integer

          i = ListeFournisseur.ListIndex
          Fournisseur = ListeFournisseur.List(i)
          j = ListeMarque.ListIndex
          Marque = ListeMarque.List(j)
          k = ListeRemise.ListIndex
          Remise = ListeRemise.List(k)

          Hide

          End Sub

          et là, ça affiche "objet requis".
          Quid de cette erreur ?

          merci...
          1. C'est moi ... et oui pas encore pati.
            L'objet requi, c'est probablement pour le Hide
            Hide.Me c'est pour masquer la feuille courante (à vérifier)

            Lorsque tu fais débogage,
            la ligne en cause apparait en jaune,
            en général ça localise très bien l'erreur.

            A+
            Eric