Autres Supprimer une ligne dans une feuille à partir d'une valeur rentrée dasn une cellule d'une autre feuille

jmc78

XLDnaute Nouveau
Bonsoir à tous,
Je fais appel à votre savoir, car je bloque sur l'écriture de ma macro, même après avoir regardé de nombreux tutos.
J'ai une feuille nommée "Historic", dans laquelle vient s'enregistrer en ligne les données d'un formulaire.
En colonne A de cette feuille, j'ai une numérotation automatique qui se fait au fur et à mesure des enregistrements.
Dans une autre feuille nommée "Recherche", j'ai une cellule vide en T1 dans laquelle j'inscris le n° de la ligne d'historique à rechercher.
Je cherche à écrire une macro qui prenne pour condition la valeur que je rentre dans la cellule T1 de ma feuille "recherche"
et qui aille chercher le n° correspondant dans la colonne A de ma feuille "Historic et supprime la ligne entière.
Voici ci-dessous ce que j'ai écris. (que les pros ne se moquent pas du néophyte !)
je suis en excel 2007

Sub supprimer()


Worksheets("Historic").Unprotect "Ro0892"

Dim ws_data As Worksheet

Dim lstrw As Long, rwnum As Long

Dim var As Variant


' identifier l'onglet
Set ws_data = Worksheets("Historic")

'identifier la derniere ligne du tableau
lstrw = ws_data.Cells(Rows.Count, 1).End(xlUp).Row

'commencer la boucle sur mes lignes

For rwnum = lstrw To 2 Step -1

'trouver la valeur à rechercher

var = Worksheets("Recherche").Range("T1")


' je pose ma condition

If Worksheets("Historic").Cells("A2:A2000") = var Then
cell.EntireRow.Delete

End If


Next

End Sub

Merci pour votre aide, car je suis lamentablement planté ;
Jean-Michel
 

jmc78

XLDnaute Nouveau
re bonsoir,
non ça ne fonctionne pas ou alors je n'écris pas le code comme il faut
autant avec les formules excel je me débrouille, autant avec le VBA je patauge.
allez on s'y remettra demain matin.
Merci de ton aide
bonne soirée
jm
 

Jacky67

XLDnaute Barbatruc
Bonsoir à tous,
Je cherche à écrire une macro qui prenne pour condition la valeur que je rentre dans la cellule T1 de ma feuille "recherche"
et qui aille chercher le n° correspondant dans la colonne A de ma feuille "Historic et supprime la ligne entière.


Merci pour votre aide, car je suis lamentablement planté ;
Jean-Michel
Bonjour ,
Sans classeur avec le formulaire......:rolleyes:
Quelque chose comme ceci peut-être...
VB:
Sub supprimer()
    With Worksheets("Historic")
        .Unprotect "Ro0892"
        On Error Resume Next
        .Range("A2:A2000").Find(Worksheets("Recherche").Range("T1"), LookAt:=xlWhole).EntireRow.Delete
        If Err <> 0 Then MsgBox Worksheets("Recherche").Range("T1") & vbLf & "Numéro inexistant" & vbLf & "ou déjà supprimé.", , "Information"
       .Protect "Ro0892"
    End With
End Sub
 
Dernière édition:

jmc78

XLDnaute Nouveau
Bonjour ,
Sans classeur avec le formulaire......:rolleyes:
Quelque chose comme ceci peut-être...
VB:
Sub supprimer()
    With Worksheets("Historic")
        .Unprotect "Ro0892"
        On Error Resume Next
        .Range("A2:A2000").Find(Worksheets("Recherche").Range("T1"), LookAt:=xlWhole).EntireRow.Delete
        If Err <> 0 Then MsgBox Worksheets("Recherche").Range("T1") & vbLf & "Numéro inexistant" & vbLf & "ou déjà supprimé.", , "Information"
       .Protect "Ro0892"
    End With
End Sub
Bonsoir Jacky67,
Je regarde et j'essaye,
en mêle temps j'essaye de comprendre et c'est pas gagné.
je te reviens demain matin et encore un grand merci
jm
 

jmc78

XLDnaute Nouveau
Re bonsoir Jacky, ci-joint mon fichier. Dans la feuille "Recherche" en T1 => j'inscris le n° de cachet (auto en colonne A)
ce que je souhaite c'est associer une macro à un bouton pour que la ligne qui porte le même numéro et qui se trouve dans la feuille "historic", soit supprimée. En core un grand merci pour ton aide.
Jean-Michel
 

Pièces jointes

  • Outil Gestion Groupe - Copie.xlsm
    927.2 KB · Affichages: 3

Discussions similaires

Statistiques des forums

Discussions
313 271
Messages
2 096 724
Membres
106 720
dernier inscrit
Alain EDZOA