Recherche et supression des lignes

bonjour je cherche l'erreur dans le code ci-dessous:

Dim Lig        As LongDim ws_synthese As Worksheet
Dim ws_mc      As Worksheet

Set ws_synthese = Worksheets("Synthèse" )
Set ws_mc = Worksheets("MC" )

Do While Cells(Lig, 1) <> ""
    If ws_synthese.Cells(Lig, 1) = ws_mc.Cells(Lig, "G" ) Then
        ws_synthese.Cells(Lig, "AA" ) = "TF-Post"
        Lig = Lig + 1
    Else
        ws_synthese.Rows(Lig).Delete
    End If
Loop

cette ligne est t-elle correcte ?

 Set ws_mc = Worksheets("MC" )

merci de votre aide

apparement lorsque je lance le code rien ne se passe .

Bonjour,

Dans la déclaration de tes variables, remplace :

Dim Lig        As LongDim ws_synthese As Worksheet

par

Dim Lig As Long
Dim ws_synthese As Worksheet

Dans

Do While Cells(Lig, 1) <> ""

Lig --> tu démarres à quelle ligne ?

A te relire

je demare a la ligne 6

pourquoi?

re,

Avant Do while, met cette instruction

Lig = 6

Edit Dan : et le Do while se passe dans quelle feuille au fait ?

le Do while se passe dans la feuille synthese

-- 04 Juin 2010, 16:58 --

en fait Dan il y a une erreur dans le code il doit se presenter comme ci dessous j'ai omis un if......

Dim Lig As Long
        Dim ws_synthese As Worksheet
        Dim ws_mc As Worksheet

        Set ws_synthese = Worksheets("Synthèse")
        Set ws_mc = Worksheets("MC")
                Lig = 6
            Do While Cells(Lig, 1).Value <> ""
                    If ws_synthese.Cells(Lig, 1).Value = ws_mc.Cells(Lig, "G").Value Then
                        If ws_mc.Cells(Lig, "AA").Text = "TF-Post" Then
                        Lig = Lig + 1
                       Else
                       ws_synthese.Rows(Lig).Delete
                       End If
                    End If
            Loop

mais j'ai ecrit celui ci qui tourne mais il y aun soucis :

Sub gautamfiltre()
Dim k As Long
Dim k_1 As Long
Dim i As Long, j As Long
Dim numero As Long
    k = Worksheets("MC").Cells(Rows.Count, 7).End(xlUp).Row
    k_1 = Worksheets("Synthèse").Cells(Rows.Count, 1).End(xlUp).Row
 For i = 1 To k_1
    If Cells(i, 2).Value Like "*AFS*" Then
        numero = Cells(i, 1).Value
        For j = 2 To k
            If numero = Worksheets("MC").Cells(j, 7).Value Then
                If Worksheets("MC").Cells(j, 27).Text = "TF-Post" Then
                 i = i + 1
                Else
                Worksheets("Synthèse").Rows(i).Delete
                End If
                Exit For
            End If
        Next

    End If
Next
End Sub

il ne me suprime pas toutes les lignes de la feuille synthèse qui non pas le caracter "TF-Post"

Bonjour,

Si tu supprime des lignes il faut absolument faire tes boucles en partant du bas.

Si tu supprimes la ligne 5 par exemple, la suivante que tu vas tester sera la 6 (dans la boucle), sauf qu'elle est remontée d'un cran et est en 5 maintenant. Elle ne sera donc pas testée, tu testeras l'ex 7.

Donc :

For i = k_1 to 1 step -1

Je te laisse regarder si c'est aussi nécessaire pour la 2nde boucle.

eric

bonjour j'ai regardé je crois que c'est la premiere boucle qu doit aller de la fin vers le debut puisque c'est ce tableau là qui necessite une supression de lignes .

et j'ai donc ecrit ceci:

Dim k As Long
Dim k_1 As Long
Dim i As Long, j As Long
Dim numero As Long
      k = Worksheets("MC").Cells(Rows.Count, 7).End(xlUp).Row
    k_1 = Worksheets("Synthèse").Cells(Rows.Count, 1).End(xlUp).Row
 For i = k_1 To 1 step -1
    If worksheets("synthese").Cells(i, 3).Value Like "*EMTN*" Or worksheets("synthese").Cells(i, 3).Value Like "*Oblig*" Then
        numero = worksheets("synthese").Cells(i, 1).Value
        For j = 2 To k 
            If numero = Worksheets("MC").Cells(j, 7).Value Then
                If Worksheets("MC").Cells(j, 27).Text <> "TF-Post" Then
                   Worksheets("Synthèse").Rows(i).Delete
                Else
                 'on ne fait rien
                End If
                Exit For
            End If
        Next

    End If
Next
End Sub

le code marche bien mais il me suprime toutes les ligne!!

merci d'avance

-- 08 Juin 2010, 12:36 --

j'ai vu ce qui n'allait pas dans le code

TF- Post et non TF-Post qu'il fallait ecrire dans le code c'etait un probleme d'espace

voila

merci bien a vous tous

le code marche deja ........

Rechercher des sujets similaires à "recherche supression lignes"