kobejul08
Messages postés113Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention 3 octobre 2005
-
10 juin 2005 à 12:26
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 2007
-
10 juin 2005 à 17:11
Bonjour,
Voilà mon code marche mais le problème c'est qu'il affiche tout le classeur excel et moi j'aimerais qui s'arrête dés qu'il trouve une cellule blanche pour qu'il n'inscrive que les options existantes et pas le reste!!
Quelqu'un peut m'aider?
'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("AFICIO 1515.1515PS.1515F.1515MF")
For i = 1 To 33
kobejul08
Messages postés113Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention 3 octobre 2005 10 juin 2005 à 13:09
En fait je veux juste afficher mes options a partir de la cellule B9 quoi et par exemple dans le premier cas il y a en que 8 ... ensuite il y une ligne blanche et en dessous encore d'autres choses ...
Ce que tu m'as donnés ne change rien il va jusque 33 lignes plus bas ..
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 10 juin 2005 à 14:19
Franchement, essaye de faire des effort pour qu'on
comprenne ce que tu veux! On est pas dans tête ou devant ton écrant
pour deviner ce que tu veux et très franchement, je ne pige rien à ce
que tu baffouilles dans tes posts!
De plus, ce que je t'ai donné n'est qu'un exemple!!! A toi de l'adapter correctement à ta source!!!
Bref, si je t'ai compris (!!!), utilise la boucle Do/Loop :
kobejul08
Messages postés113Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention 3 octobre 2005 10 juin 2005 à 14:53
Bon je vais essayer de mieux m'exprimer ... car je pense que c'est tout con en fait mais que tu comprends pas ce que je veux dire ...
Donc avec le code si dessus je veux aller chercher dans mon classeur excel dans la feuil "AFICIO 1515.1515PS.1515F.1515MF" des données (options en fait)
Ces options commencent dans mon classeur toujours en B10 et les pris correspondant en D10
Suivant le produit il y a différentes options jusque 33 maximum !!(d'ou le For i = 1 to 33)
seulement dans certains cas il n'y en a que 8 ... et dans ce cas précis avec 8 le code prend tout le reste du classeur jusqu'a B43 et D43 j'aimerais que quand il rencontre une cellule vide qu'il s'arrête.
Est plus clair ? Merci de me dire c'est gentil
Vous n’avez pas trouvé la réponse que vous recherchez ?
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 10 juin 2005 à 15:28
Ben voilà .
Donc, j'avais bien compris la première fois!
Il faut donc tester le contenu de chaque ligne :
For i = 1 To 33
If l_Sheet.Cells(i + 8, 2).Value = "" Then Exit For
...
Next i
Exit For mettant fin à la boucle. Alors évidemment, c'est à toi
d'adapter ce code hein!!! Fait pas seulement copier/coller parce que
sinon ça risque pas de marcher OK!!!
Celà répond-t-il à ta question ou pas encore ???
Enjoy
(Si une réponse vous convient, cliquez sur le bouton en dessus...)
kobejul08
Messages postés113Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention 3 octobre 2005 10 juin 2005 à 15:35
je vais essayer mais il me semble que j'avais déjà essayer avec le exit for ....-)
Et bien sur que non que je vais pas faire du copier coller mon code est différent et plus long donc j'adapte là Merci , et excuse du dérangement ... si ça marche de toute façon je t'allume en vert !! -)
kobejul08
Messages postés113Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention 3 octobre 2005 10 juin 2005 à 16:22
a mon avis j'ai mal mis certaine variable car il ne m'affiche rien et il sort immédiatement p-ê saurais tu corrigé?Merci
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
End If
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