Récupérer l'adresse d'une cellule pour supprimer la ligne

Bonjour, ( premier post pour moi :p)

Je viens vers vous car je rencontre un problème et étant débutant en vba. Je ne vois pas comment résoudre le soucis.
Etant donner que c'est un fichier pro avec des confidentiels, je ne peux pas fournir le fichier donc je vais être le plus précis possible.

Le soucis rencontré est le suivant:

Lors d'une recherche dans un tableau avec find(), je recherche une chaine de caractère précise "Valeur_Cherchee" ensuite dès que je l'ai trouvé. Je veux récupérer la colonne et la ligne exact où se trouve ma chaine de caractère donc j'utilise ma variable "Recherche" suivi du ".Address" ceci fonctionne parfaitement.

Le soucis c'est que lorsque je veux supprimer cette fameuse ligne à l'adresse trouver, je n'y arrive pas. ( J'ai sans doute pas la bonne méthode)

Voir le code ci-dessous :

If (ListBox1.List(ListBox1.ListIndex, 2)) = "Salarié" Then

            Valeur_Cherchee = ListBox1.List(ListBox1.ListIndex, 0) & " " & ListBox1.List(ListBox1.ListIndex, 1)
            Set PlageRecherche = Sheets("2022").Range("Salarié")
            Set Recherche = PlageRecherche.Rows.Find(what:=Valeur_Cherchee, LookIn:=xlValues, lookat:=xlWhole)
            ' Le soucis est ici :
            Sheets("2022").Rows(Recherche.Address).Delete

            ' c'est juste pour visualiser ce que je récupère
            Call MsgBox(Recherche.Address, vbOKOnly)

Bonjour ZodiiaK et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum

Pour ce qui concerne votre problématique

If Not Recherche Is Nothing then
  Sheets("2022").Rows(Recherche.Row).Delete
End If

Merci de votre participation

Cordialement

Bonjour,

Bonjour Bruno, tu as été plus rapide.

     Valeur_Cherchee = ListBox1.List(ListBox1.ListIndex, 0) & " " & ListBox1.List(ListBox1.ListIndex, 1)
     Set PlageRecherche = Sheets("2022").Range("Salarié")
     Set Recherche = PlageRecherche.Rows.Find(what:=Valeur_Cherchee, LookIn:=xlValues, lookat:=xlWhole)

     If Not Recherche Is Nothing Then
        Debug.Print Recherche.Row
        Recherche.EntireRow.Delete
     End If

     Set PlageRecherche = Nothing: Set Recherche = Nothing

Salut Eric,

 Recherche.EntireRow.Delete

Est mieux à utiliser

Bien je viens de faire ma présentation du coup ! Merci :)

En tout cas, merci pour vos réponses très rapide Bruno et Eric.
Petite question, si je souhaite poster un autre soucis rencontré, je dois absolument créer un nouveau post ?

Merci encore à vous deux !

Re,

Oui absolument, un sujet par problématique

A+

d'accord, même si ça traite le même sujet ?

Pour vite fait faire un topo, c'est pour supprimer les 2 lignes qui se trouve en dessous de mon Recherche dans l'exemple ?

Re,

Alors non, là vous pouvez rester sur le même fil

Normalement ça devrait le faire comme ceci (pas testé)

Valeur_Cherchee = ListBox1.List(ListBox1.ListIndex, 0) & " " & ListBox1.List(ListBox1.ListIndex, 1)
Set PlageRecherche = Sheets("2022").Range("Salarié")
Set Recherche = PlageRecherche.Rows.Find(what:=Valeur_Cherchee, LookIn:=xlValues, lookat:=xlWhole)

If Not Recherche Is Nothing Then
  Recherche.Offset(1,0).Resize(2,1).EntireRow.Delete
End If

Set PlageRecherche = Nothing: Set Recherche = Nothing

Offset(1,0) positionne Recherche sur la ligne suivante

Resize(2,1) redimensionne Recherche avec 2 lignes et 1 colonne

A+

Merci pour les explications et pour toute l'aide. Je vais tester et l'adapter à mon utilisation!

Excellente fin de semaine à vous !
A+

Re,

Mais de rien

Rechercher des sujets similaires à "recuperer adresse supprimer ligne"