Parcourir ligne Excel via VB

Résolu
isfaen Messages postés 74 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 19 octobre 2011 - 15 juin 2010 à 11:03
isfaen Messages postés 74 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 19 octobre 2011 - 15 juin 2010 à 14:16
Bonjour à tous!

Je travaille sur Excel via un programme VB. Je voudrais que mon programme parcourt une colonne de la cellule 2 jusqu'à ce que la cellule soit vide (mettons la 20ème). Cependant je ne veux pas stipuler le numéro de ligne correspondant: il faudrait que le programme sache lui même s'arréter lorsque la cellule est vide.

Pensez vous qu'il faut travailler avec un while ou une boucle?

Je vous remercie!

Bonne journée!


Alex

4 réponses

sihammaster Messages postés 41 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 19 septembre 2013
15 juin 2010 à 13:57
3
sihammaster Messages postés 41 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 19 septembre 2013
15 juin 2010 à 13:19
Bonjour isfaen,
j'ai mis une fonction permettant de supprimer les lignes vides (comme exemple), ce code parcour toutes les lignes d'excel et s'il trouve une ligne vide il la supprime.
voila, essayer de bien comprendre le code.
    Function SupprimerLignesVidesFeuille(ByVal Feuille As Excels.Worksheet)
        Dim ligne As Long = 0
        Dim nbr As Integer = 0

For ligne = Feuille.Cells.SpecialCells(Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeLastCell).Row To 1 Step -1
            nbr = nbr + 1
            If Feuille.Rows(ligne & ":" & ligne).Cells.SpecialCells(Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeBlanks).Count = Feuille.UsedRange.Columns.Count Then
'ton traitement
'ici par exemple supprime les lignes vides
                Feuille.Rows(ligne & ":" & ligne).Delete()
                nbr = nbr - 1
            End If
            Application.DoEvents()
        Next ligne


        
        Return nbr
        End Function




Bonne continuation.
0
isfaen Messages postés 74 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 19 octobre 2011
15 juin 2010 à 13:46
Merci pour ta réponse.

En fait je travaille sur une boucle qui parcourt le fichier excel fais des opérations et efface certaines lignes, puis recommence avec le nouveau fichier. Je répète cette opération n fois (valeur que je rentre dans une TextBox).

De cela je ne vois pas comment je peux adapter ton code sans allonger ma vitesse d'execution qui sera extrémement longue à terme.

N'existe il pas une fonction déjà incrémenter dans VB qui s'arrête dès qu'une cellule est vide?

Alex
0
isfaen Messages postés 74 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 19 octobre 2011
15 juin 2010 à 14:16
J'ai un peu adapté le code à mon cas et cela marche nickel!

Pourtant j'avais cherché avec mon ami Google et je n'avais rien trouvé ><

Merci beaucoup!


Alex
0
Rejoignez-nous