Redéfinition dernière ligne

Bonjour à tous,

Je suis en train de modifier une macro faite à la base par un collègue.

Je dois exclure des valeurs (je le fais en supprimant les lignes correspondantes) et en renseigner d'aitres si certaines colonnes sont vides.

Dim classeurSource As Workbook
    Dim classeurDestination As Workbook
    Dim feuilleSource As Worksheet
    Dim feuilleDestination As Worksheet
    Dim dernierLigneSource As Long
    Dim dernierLigneDestination As Long
    Dim i As Long

    ' Déterminer la dernière ligne de données dans la feuille source (colonne A)
    dernierLigneSource = feuilleSource.Cells(feuilleSource.Rows.Count, "A").End(xlUp).Row

    ' Déterminer la dernière ligne de données dans la feuille source (colonne A)
    dernierLigneSource = feuilleSource.Cells(feuilleSource.Rows.Count, "A").End(xlUp).Row

        If IsEmpty(feuilleSource.Cells(i, "G").Value) Then
        feuilleSource.Cells(i, "G").Value = "TOTO"
        End If
        If IsEmpty(feuilleSource.Cells(i, "M").Value) Then
        feuilleSource.Cells(i, "M").Value = "TOTO"
        End If
        If (feuilleSource.Cells(i, "S").Value Like "ATEL80VIGN*") And (feuilleSource.Cells(i, "D").Value Like "E") Then
        feuilleSource.Rows(i).Delete
        End If

Le problème lorsque j'exécute la macro, c'est que j'ai des lignes vides à la fin sauf pour la colonne G & M avec TOTO renseigné (autant de ligne que j'en ai de supprimé). Je suppose que cela est lié à la dernier ligne source défini auparavant.

Je pense qu'il faudrait redéfinir la dernière ligne source une fois les suppressions faites ?

Comment puis-je procéder ?

Merci

PS : Je débute vraiment en VBA, soyez indulgent si le vocabulaire utilisé n'est pas le bon ;-)

bonjour,

tu ne nous as pas mis la totalité de ton code. Il manque les instructions pour boucler sur la valeur de i.

pour résoudre ton problème tu dois boucler à rebours, en commençant par la dernière ligne

for i=derniereLigneSource to 1 step -1

(...)

next i

Bonjour H2so4,

Effectivement, j'ai quasiment oublié l'essentiel :

    For i = 2 To dernierLigneSource ' Commencer à partir de la 2ème ligne dans le fichier source

Je vais essayer en modifiant la manière de boucler :

for i=derniereLigneSource to 2 step -1

(...)

next i

Merci pour le retour, je vais tester et j'éditerai ou passerai le sujet en résolu si OK

Bonne journée,

Pierrot_de_la_Pampa

Rechercher des sujets similaires à "redefinition derniere ligne"