Control array

kobejul08 Messages postés 113 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 3 octobre 2005 - 22 juil. 2005 à 13:13
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 - 26 juil. 2005 à 18:34
bonjour voici une partie de mon code ...
j'ai 34 champs détails et a partir d'un fichier excel , le programme va chercher les lignes mais le problème c'est qu'il ne s'arrête pas quand il rencontre un une ligne blanche dans le classeur il va jusque 34 lignes plus bas qq un peut il m'aider Merci.

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("AFICIO 1515.1515PS.1515F.1515MF")
For i = 1 To 33
If l_Sheet.Cells(i + 8, 2).Value <> "" Then Exit For
Txtdétails1(i).Text = l_Sheet.Cells(i + 8, 2).Value


For i = 1 To 33
If l_Sheet.Cells(i + 8, 4).Value <> "" Then Exit For

Txtprix1(i).Text = l_Sheet.Cells(i + 8, 4).Value
Next i

donc voilà j'aimerais qu'il n'affiche que les détails qu'il trouve dans le classeur jusque qu'à une ligne blanche!

6 réponses

Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 9
22 juil. 2005 à 21:16
Salut,




' ===========================================

' Compacter & Archiver la base de données

Public Sub CompactJetDatabase(ByVal Location As String, _


Optional BackupOriginal As Boolean = True)

Dim strBackupFile As String

Dim strTempFile As String

On Error GoTo CompactErr

If Len(Dir(Location)) Then



'création de la copie de sauvegarde

If BackupOriginal = True Then

strBackupFile = App.path & "" & "backup.mdb"

If Len(Dir(strBackupFile)) Then Kill strBackupFile

FileCopy Location, strBackupFile

End If



'Definition de la base temporaire

strTempFile = App.path & "" & "temp.mdb"

If Len(Dir(strTempFile)) Then Kill strTempFile



'DBEngine.CompactDatabase olddb, newdb, locale, options, password

DBEngine.CompactDatabase Location,
strTempFile, ";pwd=" & dbPassWord, , ";pwd=" &
dbPassWord ' Compacter la base courrante -> base temp

Kill
Location
' Supprimer la base courrante

FileCopy strTempFile,
Location
' Copier base tmp -> base courrante

Kill strTempFile

End If

MsgBox "La base de donnée est nettoyée", vbInformation, "Terminé"

Exit Sub

CompactErr:

MsgBox "Une erreur est apparue lors du nettoyage de la base de données", vbInformation, "Erreur détectée"

Exit Sub

End Sub

++

Zlub
0
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 9
22 juil. 2005 à 21:17
désolé erreur ...

++

Zlub
0
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 9
22 juil. 2005 à 21:48
Salut,

Dim monxl4 As Excel.Application


Dim l_Workbook As Excel.Workbook


Dim l_Sheet As Excel.Worksheet


Dim i As Byte




Set monxl4 = New Excel.Application

Set l_Workbook = monxl4.Workbooks.Open(Chemin)

Set l_Sheet = l_Workbook.Worksheets("AFICIO 1515.1515PS.1515F.1515MF")


For i = 1 To 33

If l_Sheet.Cells(i + 8, 2).Value =
"" Then Exit For

Txtdétails1(i).Text = l_Sheet.Cells(i + 8, 2).Value





Next i




For i = 1 To 33

If l_Sheet.Cells(i + 8, 4).Value=
"" Then Exit For



Txtprix1(i).Text = l_Sheet.Cells(i + 8, 4).Value


Next i



++

Zlub
0
kobejul08 Messages postés 113 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 3 octobre 2005
26 juil. 2005 à 11:11
Salut,

je veux bien mais tu as réécris ce que j'avais déjà mis non?
Et ça ne marche pas!!
0

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

Posez votre question
Chris_LaFouine Messages postés 109 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 4 juin 2008
26 juil. 2005 à 12:35
à la place de tes For, met un :

i=0

While Not IsNull(l_Sheet.Cells(i + 8, 2).Value) And l_Sheet.Cells(i + 8, 2).Value <> "" And i<=33

Txtdétails1(i).Text = l_Sheet.Cells(i + 8, 2).Value

i=i+1

Wend



C'est pitete mieux
0
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 9
26 juil. 2005 à 18:34
Salut,

b'hein non pas tout à fait le même code que toi, voir les modif en bleu ...

chez moi ça marche mais j'ai pas testé avec un nom de feuille pareil ... mais je ne pense pas que ça fasse planter...

++

Zlub
0