Recherche de feuil1 vers ffeuil2 et supression de lignes

dianbobo Messages postés 151 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 15 juin 2014 - 4 juin 2010 à 11:47
dianbobo Messages postés 151 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 15 juin 2014 - 4 juin 2010 à 14:31
bonjour tout le monde
je vous explique ce que j'essai de faire dans ce code:
ma feuille active se nomme ("Synthèse") cette feuille synthese contient un tableau de la colonne A a la colonne I .La colonne A contient des nombres entiers
je veux donc rechercher chacun des numeros de la colonne A dans ma feuille nommé ("MC") a la colonne G une fois ce numero trouvé je reste dans ma feuil "MC" a la meme ligne je vais a la colonne AA regardé si j'ai le caractere "TF-Post" si j'ai le caractere "TF-Post" je conserve la ligne de la feuille "synthese " correspondante sinon je l'efface:
voici un exemple
supposons que j'ai dans ma feuille synthese A5=1022 alors je vais chercher ce numero a la colonne G dans ma feuille "MC"
supposons que je trouve ce numero a la ligne 100 de la colonne G donc
G100=1022 a partir de là je vais a la COLONNE AA toujours de ma feuille "MC" a la ligne 100
SI AA100="TF-Post" alors je conserve la ligne
5 de ma feuille synthese sinon je la suprime.

regarder mon code:
Sub Bouton1()
    Dim Lig As Long
        With Worksheets("Synthèse")
            While Cells(Lig, 1) <> ""
                If .Cells(Lig, 1) = Worksheets("MC").Cells(Lig, "G") Then
                    .Cells(Lig, "AA") = "TF-Post"
                    Lig = Lig + 1
                Else
                    Worksheets("Synthèse").Rows(Lig).Delete
                End If
            Wend
        End With
End Sub


mais j'ai une erreur ici:
While Cells(Lig, 1) <> ""

(erreur definie par l'application ou par l'objet")
mais je n'arrive pas a la corriger

merci de votre aide

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
4 juin 2010 à 12:58
Salut
A tout hasard, essaye ça :
While Not IsEmpty(Cells(Lig, 1))

Voir aussi la fonction Offset qui permet de se déplacer relativement à la cellule courante (plus pratique)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
dianbobo Messages postés 151 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 15 juin 2014
4 juin 2010 à 14:31
Salut Jack et merci pour tout.
voila j'ai pu rectifier l'erreur mais en réecrivant le code comme ci-dessous
il tourne bien mais il y a une anomalie
c'est a dire que je n'ai pas que des lignes qui on le caractere "TF-Post"
mais aussi d'autres caracteres

Sub bouton1()
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).Value Like "*TF-Post*" Then
                 Cells(i, 10).FormulaR1C1 = ""
                Else
                Worksheets("Synthèse").Rows(i).EntireRow.Delete
                End If
                Exit For
            End If
        Next
    
    End If
Next
End Sub


si quelqu'un veux mieux m'eclaire
merci
0
Rejoignez-nous