Rechercher dans un fichier excel des données
juemo
-
Bidouilleu_R Messages postés 1209 Statut Membre -
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
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
1 réponse
-
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