Aide pour utiliser feuille excel sous vb

urban -  
 urban -
Bonjour,

voilà j'ai un probleme déjà je débute en vb mais le problème le plus important s'est que je n'arrive pas à lier ma base de donnée excel dans un combobox situé dans un form et non un userform
donc mon classeur s appelle liste_solsr et je voudrai liée ca 1ere colonne qui debute à A3 et fini à A90
et la feuille s appelle feuil1
pourriez vous m'aider pour le code je cherche depuis plusieurs jours et je n'arrive a rien
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. vautour88
     
    For a = 3 To 90
    UserForm.ComboBox.AddItem Worksheet("NOM DE TA FEUILLE").Cells(a, 1).Value
    Next a

    ca devrai deja pas mal t avancer
    0
    1. urban
       
      je vois dans ton code que tu utilise l userform mais j'en ai pas et il possible de le faire sans
      0
    2. vautour88
       
      For a = 3 To 90
      Form.ComboBox.AddItem Worksheet("NOM DE TA FEUILLE").Cells(a, 1).Value
      Next a

      ui il faut que tu remplace par les noms de tes objets mais ca je te laisse faire.
      0
  2. urban
     
    voila le code que j utilise mais a la ligne data=sheets("liste_solsr").range(1&i) il y a un message d'erreur qui dit indice en dehors de la plage.

    Private Sub cmdSuivant_Click()
    Formprob.Show
    End Sub

    Private Sub Form_Load()

    Dim A As Integer

    Dim data As String
    Dim liste_solsr As Excel.Workbook
    Set liste_solsr = Workbooks.Open("z:\liste_solsr")

    For i = 3 To 400 Step 1

    data = Sheets("liste_solsr").Range(1 & i)
    If data = "" Then GoTo fin
    Combo1.AddItem data
    Next
    fin:
    Workbooks.Close

    End Sub
    0
    1. vautour88
       
      Private Sub cmdSuivant_Click()
      Formprob.Show
      End Sub

      Private Sub Form_Load()


      Dim A As Integer


      Dim data As String
      Dim liste_solsr As Excel.Workbook
      Set liste_solsr = Workbooks.Open("z:\liste_solsr")


      For i = 3 To 400 Step 1

      data = Sheets("liste_solsr").Range("A" , i).value ' c est comme ca qu il faut faire avec les range
      If data = "" Then GoTo fin 'Ton if n est pas fermer....
      Combo1.AddItem data
      Next i 'c'est toujours mieux de preciser de quel boucle il sagi
      fin:
      Workbooks.Close

      End Sub
      0
      1. urban > vautour88
         
        merci pour le pofinage de mon code mais j ai toujour le message d'erreur dont je t ai parlé avant et je comprend pas pourquoi
        0
      2. vautour88 > vautour88
         
        data = Sheets("liste_solsr").Cells(i,1).value
        essaye avec ca
        0
  3. urban
     
    j' ai toujour le message qui me dit indice en dehors de la plage
    0
  4. vautour88
     
    mais ce code dans une nouvelle macro pour ne plus avoir de relation avec l ancienne

    For i = 3 To 400
    if Sheets("liste_solsr").Range("A" , i).value <> "" then
    Combo1.AddItem Sheets("liste_solsr").Range("A" , i).value
    endif
    Next i

    essaye apres en remplacant les ".Range("A" , i).value" par des "cells(i,1).value" , ou encore les "Sheets" par des "worksheets" apres si ca ne fonctionne pas ... desoler je n ai plus d idee, peut etre demander a quelqu un de plus experimente que moi.
    0
    1. urban
       
      non ca ne marche toujours pas c'est pas grave je vais essayé autre chose je te remercie pour l'aide que tu m' as appoté et bonne continuation à toi bonne journée
      0