Rechercher dans un fichier excel des données

juemo -  
Bidouilleu_R Messages postés 1209 Statut Membre -
Bonjour,

Je voudrais faire une recherche dans un fichier excel des données qui se trouve dans un autre fichier excel.

J'ai un range d'adresse dans un fichier excel et je dois rechercher dans mon autre fichier si l'adresse ip qui s'y trouve est dans le range des données que j'ai dans l'autre fichier et je veux faire sortir seulement les lignes qui répondent a ma requete.

Comment faire?

merci

A voir également:

1 réponse

Bidouilleu_R Messages postés 1209 Statut Membre 295
 
Bonjour

s'il te plait dis moi si ça marche bien
et fais un essai
A++

Sub verifIP()
' cette macro doit être placée dans
' le classeur qui contient la plage range a vérifier
' j'ouvre le classeur qui contient la base des ip
' je suppose que les données sont en feuil1
' que le range des ip dans la base sont de A2 à Axxx
' et que la source à controler est en A2 à Axxx

Dim fichierOrigine As String
Dim fichierBaseIp As String
Dim nbLig As Long

fichierOrigine = ThisWorkbook.Name

Workbooks.Open ("C:\Data\fichierlisteip.xls") ' à adapter
Sheets("feuil1").Select   ' à adapter : là c'est la base
fichierBaseIp = ActiveWorkbook.Name
Windows(fichierOrigine).Activate
Sheets("feuil1").Select
nbLig = Range("A10").End(xlDown).Row   ' dernière ligne de la plage source

For Each c In Range("A10:A" & nbLig)
    Windows(fichierOrigine).Activate
    'je vais rechercher chaque IP
    ' et j'écris dans la colonne B Trouvé et l'adresse ou Pas trouvé
    c.Offset(0, 1) = Trouve_Les_Ips(c.Value, fichierBaseIp)
Next
Windows(fichierBaseIp).Activate
ActiveWorkbook.Close


End Sub
Function Trouve_Les_Ips(Val_IP As String, ByVal Wrbk As String) As String
    Dim nLignes As Long
    Dim infos As String
    Dim ce As Variant
    
    Windows(Wrbk).Activate
        
    nLignes = Range("a2").End(xlDown).Row ' dernière ligne de la base

    Application.ScreenUpdating = False
       
       With Worksheets(1).Range("a2:a" & nLignes)
        Set ce = .Find(Val_IP, LookIn:=xlValues) ' trouve la valeur IP
            If Not ce Is Nothing Then
                firstAddress = ce.Address
                infos = "Trouvé à : " & firstAddress
            Else
            
                infos = "Pas trouvé"
              ' sortie si cellule vide ou si première adresse
            End If
        End With

       
       
    Trouve_Les_Ips = infos
  
End Function
0