Trouver une reference et extraire la ligne

Zouzou93

XLDnaute Occasionnel
Bonjour le Forum,

Je cherche mais en vain dans les discussions une formule en VBA qui me permettrait de trouver une reference (Que l'utilisateur saisirait dans une inputbox) en colonne F par exemple et d'extraire la ligne contenant cette référence. pour la copier dans une autre feuille. J'ajoute que certaines cellules peuvent contenir plusieurs références (Concaténées) et que le problème est de pouvoir trouver cette référence dans une colonne mais aussi dans une cellule.

Je vous joins un exemple du fichier qui vous parlera peut être mieux ?

Merci par avance de votre aide
Zouzou
 
Dernière édition:

youky(BJ)

XLDnaute Barbatruc
Re : Trouver une reference et extraire la ligne

Bonjour Zouzou93,
Voici en retour ton fichier avec un bouton et macro
A+
 

Pièces jointes

  • EXEMPLE(1).xls
    45.5 KB · Affichages: 73
  • EXEMPLE(1).xls
    45.5 KB · Affichages: 79
  • EXEMPLE(1).xls
    45.5 KB · Affichages: 76

jp14

XLDnaute Barbatruc
Re : Trouver une reference et extraire la ligne

Bonjour

Ci dessous une macro
On doit indiquer la plage ou une colonne
On doit ensuite indiquer une valeur

Code:
Option Explicit

Sub essai()
Dim plage As Range
Dim cel As Range
Dim reponse As Variant

On Error Resume Next
Set reponse = Application.InputBox(Prompt:="Veuillez sélectionner une colonne ou des cellules", Type:=8, Default:="")
If reponse Is Nothing Then Exit Sub
Set plage = reponse
On Error GoTo 0

Do
        reponse = Application.InputBox(Prompt:="Veuillez indiquer le texte", Type:=2, Default:="")
        Select Case reponse
            Case ""
                MsgBox "vous n'avez pas  fait de saisies!" & Chr(13) & "recommencez!", vbCritical, ""
            Case False
                Exit Sub
            Case Else
                Exit Do
       
        End Select
 Loop
With Sheets("TEST")
For Each cel In plage
    If InStr(cel, reponse) > 0 Then
    .Rows(cel.Row).Copy _
            Destination:=Worksheets("Feuil1").Range("A" & Worksheets("Feuil1").Cells(Worksheets("Feuil1").Rows.Count, 1).End(xlUp).Row + 1)
    End If
Next cel
End With
End Sub

La ligne est recopiée dans la feuille 1

A tester

JP
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 508
Messages
2 089 143
Membres
104 048
dernier inscrit
Noni