Probleme tjs pas résolu

kobejul08 Messages postés 113 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 3 octobre 2005 - 8 juin 2005 à 10:42
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 - 9 juin 2005 à 09:56
C'est bizarre ... je veux en fait aller chercher des options dans un classeur excel et qu'il les affiches dans Txtdétails1(i) pour le prix pareil mais il n'a pas le temps d'afficher il me met un message erreur "application or object defined error.."

Set monxl4 = New Excel.Application
monxl4.Workbooks.Open Chemin
For i = 0 To 33
monxl4.Cells(i, 2).Select
If monxl3.Selection.Value = Txtdétails1(i).Text Then
monxl4.Cells(i, 4).Select

Txtprix1(i).Text = monxl4.Selection.Value
End If
Next i
les variables sont déclarés etc.. je sais pas ou le bas blesse
Merci

8 réponses

mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
8 juin 2005 à 11:18
Ce ne serait pas à cause de l'utilisation de "monxl3" dans ta condition (partout ailleurs, tu utilises "monxl4").

Par ailleurs je te déconseille d'utiliser les Selection et Select qd ce n'est pas nécessaire. Ca sert uniquement à sélectionner une plage de cellules visuellement.
Tu peux mettre directement :
Txtprix1(i).Text = monxl4.Cells(i,4).Value
0
kobejul08 Messages postés 113 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 3 octobre 2005
8 juin 2005 à 11:25
non non, c'est une faute de frappe ça désolé c'est bien monxl4 à la place ...
Le message d'erreur s'affiche à la ligne: "monxl4.Cells(i, 2).Select"
Je vais essayé sans le select on verra ...
0
kobejul08 Messages postés 113 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 3 octobre 2005
8 juin 2005 à 11:30
ça ne marche pas non plus ainsi..
Set monxl4 = New Excel.Application
monxl4.Workbooks.Open Chemin
For i = 0 To 33


Txtdétails1(i).Text = monxl4.Cells(i, 2).Value


Txtprix1(i).Text = monxl4.Cells(i, 4).Value


Next i
je veux en fait aller chercher des options dans un classeur à partir de la cellule B10 pour détails1(i)
et D10 pour le prix1(i)
et que tant qu'il en trouve qu'elle s'affiche dans ma form à détails1(0) puis details1(1)...détails1(2)etc...
0
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
8 juin 2005 à 11:48
Il manque la feuille Excel dans laquelle tu travailles :
monxl4.Worksheets("Feuil1").Cells(i,2).Value.

Pour éviter de trainer tout une liste, en général je fais ça :
dim l_Workbook as Excel.Workbook
dim l_Sheet as Excel.Worksheet

Set l_Workbook = monxl4.Workbooks.Open(Chemin)
Set l_Sheet= l_Workbook.Worksheets("Feuil1")

Et ensuite je travaille uniquement avec l_Sheet:
Txtdétails1(i).Text = l_Sheet.Cells(i,2).Value
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kobejul08 Messages postés 113 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 3 octobre 2005
8 juin 2005 à 13:08
Set monxl4 = New Excel.Application
monxl4.Workbooks.Open Chemin
For i = 0 To 33


'Pour éviter de trainer toute une liste
Dim l_Workbook As Excel.Workbook
Dim l_Sheet As Excel.Worksheet


Set l_Workbook = monxl4.Workbooks.Open(Chemin)
Set l_Sheet = l_Workbook.Worksheets("Feuil1")
'monxl4.Worksheets("Feuil1").Cells(i,2).Value.


'Et ensuite je travaille uniquement avec l_Sheet:
Txtdétails1(i).Text = l_Sheet.Cells(i, 2).Value


Next i

Il met tjs un message d'erreur qd je compile cette fois ci
a la ligne "Set l_Sheet = l_Workbooks.Worksheets("feuil1")
le message d'erreur : Subscript out of range
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
8 juin 2005 à 15:22
Bonjour,

Je pense que tu peux refaire tout ton code, je n'ai pas le temps
maitenant, ce soir j'essayerai de trouver un code.Mais une chose est
certaine, txtdétails(i)Text, c'est pas reconnu, Cells(i, 2).Select non
plus

de plus dans ton code tu compares la valeur d'un textBox avec une colonne Cells(i, 2) celà fait 34 cellules.



jpleroisse
0
kobejul08 Messages postés 113 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 3 octobre 2005
8 juin 2005 à 15:57
je sais vraiment pas comment Jean paul ... si tu as un peu de temps pour m'aider ça serait très chouette merci ...
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
9 juin 2005 à 09:56
Bonjour,

Pour remplir des TextBox une bucle ne marchera pas, si tu veux remplir à partir des cellules B10 et D10, fait comme ceci



Private Sub CommandButton1_Click()

txtDétails = Cells(10, 2).Value

txtDétails1 = Cells(11, 2).Value

txtPrix = Cells(10, 4).Value

txtPrix1 = Cells(11, 4).Value

End Sub



Par contre si tu veux récupérer les données dans un Combobox ou ListBox, tu peux faire une boucle.

Les combos se remplisent à partir de la 10 ème ligne (i = 10)



Private Sub CommandButton1_Click()

Dim i

i = 10

Do While Sheets(1).Range("B" & i) <> ""

ComboBox1.AddItem Sheets(1).Range("B" & i)

i = i + 1

Loop

i = 10

Do While Sheets(1).Range("D" & i) <> ""

ComboBox2.AddItem Sheets(1).Range("D" & i)

i = i + 1

Loop

End Sub



jpleroisse
0
Rejoignez-nous