Fonction FIND et IF

Bonjour,

Je suis actuellement coincé sur l'écriture de la fonction FIND. Je n'arrive pas à insérer ma zone de recherche ( de A1 à A10) (cf fichier joint)

Sur mon fichier, j'ai 2 feuilles

Feuil 1 : ou se trouve ma data

Colonne A: les noms

Colonne B prénom

Colonne C: prénom

Feuil 2 : feuille qui sera incrémentée au fur et à mesure des jours

Colonne A : les noms

J'aimerai savoir comment rechercher les noms (de la colonne A, Feuil 2) dans la colonne A, feuil 1 et supprimer la ligne correspondante...

Merci de votre aide.

14classeur1.xlsm (24.36 Ko)

Bonjour

Remplace ta macro FIND par celle ci-dessous et cela fera le travail

Sub find()
'Macro Dan
Dim lg as integer
With Sheets("Feuil1")
    For Each cel In Sheets("Feuil2").Range("A2:A" & Sheets("Feuil2").Range("A" & Sheets("Feuil2").Rows.Count).End(xlUp).Row)
        On Error Resume Next
        lg = .Range("A2:A" & .Range("A" & .Rows.Count).End(xlUp).Row).find(cel.Value, LookAt:=xlWhole).Row
        If lg > 0 Then .Range("A" & lg).EntireRow.Delete: lg = 0
    Next
End With
End Sub

La macro Recherche peut être supprimée

Si ok, lors de ta réponse, clique sur le V vert à coté du bouton EDITER pour clôturer le fil

Crdlt

Bonjour,

Sub find()
    Dim c As Range
    Set c = Sheets("Feuil2").[A:A].find(What:="f", LookIn:=xlValues, LookAt:=xlWhole)
    If Not c Is Nothing Then c.EntireRow.Delete
End Sub

Supprime LE nom comme demandé, si tu en as plusieurs identique il faut compléter.

Dan: je ne comprend pas pourquoi le For Each cel In

eric

Re

Pour Eriic. De ce que j'ai compris dan cette demande, c'est qu'à partir des noms repris en colonne A feuille 2, il souhaite supprimer les lignes contenant les mêmes noms en colonne A feuille 1.

D'où cette boucle qui va vérifier si les noms de la feuille 2 sont trouvés dans la feuille 1 et les supprimer si trouvés.

Qu'as-tu compris d'autre ?

Amicalement

Bonjour,

Oulalaaa, j'ai lu tout de travers.

Oublie ma réponse factu...

eric

Merci Dan, et merci quand même eriic .

J'ai testé ta solution Dan, et elle marche. je vais la décortiquer pour la comprendre.

Merci à vous.

Après avoir testé sur mon fichier final, je m'aperçois que la macro ne fonctionne pas, car les noms de la colonne A de la feuille 1 sont issu de formule ( ex : ='Feuil4'!A4).

Avez vous une solution?

Merci par avance.

Bonjour à tous,

Si la macro de Dan fonctionne comme il faut ... mais que ta source est différente ...

au lieu de la Feuille 1 ... tu as besoin de la Feuille 4 ..

Il te suffit de remplacer le 1 par un 4 dans l'instruction initiale ...

With Sheets("Feuil4")

Bonjour,

Dsl, je n'ai pas été assez précis. Sur mon fichier final, j'ai 4 feuilles.

La feuille 1 est une extraction d'une base de donnée;

La feuille 2 est une feuille où j'effectue des calculs

La feuille 3 (feuille 1 de mon exemple) est ma data, qui prend les données de la feuille 1 par des formules.

la feuille 4 (feuille 2 de mon exemple) est la feuille qui sera incrémentée au fur et à mesure, et qui me permettra de supprimer les lignes similaire de la feuille 3.

Cependant, je me suis aperçu que la macro ne fonctionnait pas, car les cellules de la colonne A de la feuille 3 (Feuille 2 de mon exemple) sont des formules appelant les données de la feuille 1.

J'espère avoir été assez claire. J'ai mis le fichier exemple, avec les même configuration que mon fichier final.

Dsl et merci

19classeur1.xlsm (24.87 Ko)

Bonjour,

Modifie cette ligne de code :

lg = .Range("A2:A" & .Range("A" & .Rows.Count).End(xlUp).Row).find(cel.Value, , xlValues, xlWhole).Row

A+

Merci Frangy, merci à tous,

J'ai compris la modif.

Merci beaucoup.

Rechercher des sujets similaires à "fonction find"