comment alimenter une listbox en visual express 2008 par la 1ère colonne d'un tableau excel 2007
Bonjour à tous,
Une fois de plus je reviens vers vous en exxpérant cette fois-ci avoir une réponse.
Je débute dans la programmation sous visual stiudio 2008
Dans le cadre de mon projet j'aimerai savoir comment importer la première colonne d'un tableau excel existant déja (cette première colonne comprend des sujets nommés sujet1, sujet2...sujet 500) pour alimenter une listbox de ma userform ?
voici le code que j'ai mis mais cela m'affiche des erreurs:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
Dim xldown()
Dim test As Excel.Application
Dim nom As Char
Dim cc As Char
Dim Workbooks As Excel.Workbook
Dim ll()
Dim tt()
Dim Range As Excel.Range
sub nn()
nom = "test.xlsx"
cc = "D:\" & test.xlsx
workbooks.open("D:\" & test.xlsx)
ll = activeworkbook.sheets("feuil1").range("a1").end(xldown).row
ReDim tt(ll - 1)
For i = 0 To (ll - 1)
tt(i) = range("a1").offset(i)
Next
Workbooks(nom).close()
end sub |
Voici ce que ça m'affiche comme errur:
Citation:
Erreur 1 L'opérateur '-' n'est pas défini pour les types 'Tableau à 1 dimension(s) de Object' et 'Integer'. C:\Users\Probook\AppData\Local\Temporary Projects\MatriAppL\Form1.vb 78 18 MatriAppL
Je vous prie de bien vouloir m'aider.
Merci de prendre la peine de me lire et de me répondre
Merci d'avance pour votre grande aide.
Alimenter une Listbox par la première colonne d'un tableau Excel visual studio 2008
Salut Hervé et merci pour votre réponse,
j'ai essayé d'adapter votre réponse , seulement ça m'affiche une erreur
qui est :
Citation:
Erreur de type:
Avertissement 1 Le type pour la variable 'Cel' ne sera pas déduit, car il est lié à un champ d'une portée englobante.
Changez le nom de 'Cel' ou utilisez le nom qualifié complet (par exemple, 'Me.l1' ou 'MyBase.l1').
C:\Users\Probook\AppData\Local\Temporary Projects\Monprojet\Form1.vb 62 18 Monprojet
J'ai essayé de changer la variable 'cel' mais j'ai en résultat la même erreur
je n'arrive pas à la corriger. Svp aidez- moi une fois de plus.
Merci d'avance pour votre aide.
comment alimenter une listbox en visual express 2008 par la 1ère colonne d'un tableau excel 2007
Citation:
Bonsoir à tous,
Je vous remercie une fois de plus de l'intérêt que vous accorder à mes différentes difficultées et surtout pour les réponses apportées.
Voilà je n'ai toujours pas résolu mon problème d'alimentation de ma listbox, par contre j'ai améléorer mon code et je me retrouve avec une erreur que je n'arrive pas à corriger car étant débutant en vb je n'ai pas le flair pour détecter les erreus même évidentes pour tous les programeurs .
voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
Imports Microsoft.Office.Interop.Excel
Imports Microsoft.Office.Interop
Private Sub Saisie_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Worksheets As Worksheets
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel
Dim Cell As Ranges
Dim cells As Ranges
Dim Tableau()
Dim TempTab As Object
Dim i As Integer, j As Integer
Dim boolVerif As Boolean
ReDim Tableau(0 To 1)
Tableau(1) = Cell(1, 1)
Dim xlUp As Integer
'Boucle sur les données de la colonne A, dans la Feuil1
For Each Cell In Worksheets("Feuil1").Range("A1:A" & _
Worksheets("Feuil1").Range("A65536").End(xlUp).Row)
wbExcel = appExcel.Workbooks.Open("D:\test.xlsx")
boolVerif = False
'Vérifie si le contenu de la cellule existe déjà dans le tableau
For i = 1 To UBound(Tableau)
'Si la donnée existe déjà dans le tableau
If Tableau(i) Then
boolVerif = True
Exit For
End If
Next i
Next
'Si la donnée n'existe pas dans le tableau, on augmente la taille du tableau
'et on ajoute la donnée.
If boolVerif = False Then
ReDim Preserve Tableau(0 To UBound(Tableau) + 1)
Tableau(UBound(Tableau)) = Cell
End If
'Tri le contenu du tableau par ordre croissant.
For i = 1 To UBound(Tableau)
For j = 1 To UBound(Tableau)
If Tableau(i) < Tableau(j) Then
TempTab = Tableau(i)
Tableau(i) = Tableau(j)
Tableau(j) = TempTab
End If
Next j
Next i
End Sub
End Class |
Voici donc l'eurreur que ça m'affiche:
Citation:
Erreur 1 Arguments trop nombreux pour 'Public ReadOnly Default Property _Default(Index As Object) As Microsoft.Office.Interop.Excel.Range'. C:\Users\Probook\Desktop\MVC\MVC-projet\MVC-projet\Vue\Saisie.vb 22 30 MVC-projet
L'erreur est donc affiché au niveau de Tableau(1) = Cell(1, 1)
est souligné l'ordonnnée de cell(1,1) c'est à dire le second 1
Citation:
Merci une fois de plus de me débloqur car je n'avance plus dépuis quelques jours. Bonne soirée à tous.