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
A voir également:
- Rechercher dans un fichier excel des données
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Trier des données excel - Guide
- Fichier rar - Guide
1 réponse
Bonjour
s'il te plait dis moi si ça marche bien
et fais un essai
A++
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