Manshiz
Messages postés184Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention18 août 2012
-
Modifié par Manshiz le 18/08/2012 à 17:11
Bonjour,
voilà, j'essaie de créer sur excel, un programme de recherche d'adresses et n° de téléphone du style Local.ch. Le code que voici, recherche toutes les personnes avec par ex. le nom du Dupond.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Range, cel As Range, lig&, x%
If Not Intersect(Target, [E5]) Is Nothing Then Exit Sub
If Intersect(Target, [E5]) Is Nothing Then: [H5].Select
If [E5] = "" Then: [H5] = "": [C7:D200].ClearContents
If [H5] <> "" Then
lig = Sheets(2).UsedRange.Rows.Count
If lig < 2 Then: Exit Sub: [E5].Select
With Sheets(2).Range("a2:a" & lig)
Set cel = .Find([E5])
If Not cel Is Nothing Then
firstAddress = cel.Address
Do
cel.Value = [E5].Value
Set cel = .FindNext(cel)
With ActiveSheet
For Each c In Sheets(2).Range("A2:G17")
.Cells(9, 4) = Sheets(2).Range("A" & cel.Row).Value & " " & Sheets(2).Range("B" & cel.Row).Value
.Cells(10, 4) = Sheets(2).Range("C" & cel.Row).Value
.Cells(11, 4) = Sheets(2).Range("D" & cel.Row).Value & " " & Sheets(2).Range("E" & cel.Row).Value
.Cells(13, 4) = Sheets(2).Range("F" & cel.Row).Value
.Cells(13, 3) = Sheets(2).Range("G" & cel.Row).Value
.Cells(15, 4) = Sheets(2).Range("A" & cel.Row - 1).Value & " " & Sheets(2).Range("B" & cel.Row - 1).Value
.Cells(16, 4) = Sheets(2).Range("C" & cel.Row - 1).Value
.Cells(17, 4) = Sheets(2).Range("D" & cel.Row - 1).Value & " " & Sheets(2).Range("E" & cel.Row - 1).Value
.Cells(19, 4) = Sheets(2).Range("F" & cel.Row - 1).Value
.Cells(19, 3) = Sheets(2).Range("G" & cel.Row - 1).Value
Next c
End With
Loop While Not cel Is Nothing And cel.Address = firstAddress
Else
[D7].Value = "Désolé, aucun résultat trouvé."
Exit Sub
End If
End With
End If
End Sub
J'aimerais y inclure la recherche par nom complet et par ville. Ici la cellule E5 correspond recherche Nom et H5 à Ville.
De plus, il y a un problème avec With Feuil1. Si j'inscrit: .Cells(x, 4) avec For x = 9 to 1000 Step 6, le code me donne en résultat qu'un numéro de téléphone.