aide avec une macro de recherche

M

Maguy

Guest
Bonjour tout le monde!

J'ai un petit problème avec une macro de recherche. Quand j'entre le texte à chercher elle ne cherche que dans la colonne A. J'aimerais qu'elle cherche aussi dans la colonne D. Voici mon code, si quelqu'un pourrais m'indiquer quoi changer, j'en serais très heureuse.

Private Sub ComboBox1_GotFocus()
ComboBox1.List = RecupF
End Sub

Function RecupF()
Dim i&, j&, t()
For i = 1 To ThisWorkbook.Worksheets.Count
With Sheets(i)
If .Visible Then
ReDim Preserve t(j)
t(j) = .Name
j = j + 1
End If
End With
Next i
RecupF = t
End Function

Private Sub ComboBox1_LostFocus()
ComboBox1.Value = ""
End Sub
Public Sub CommandButton5_Click()
Dim i As Byte, j As Byte, X As Byte
Dim Cible As String
Dim Val As Object
Dim FirstAddress As String, Resultat As String, Tableau() As String

Cible = InputBox("Saisir le mot à rechercher : ", "Recherche", "Le mot")

Application.ScreenUpdating = False

For i = 2 To Sheets.Count
Sheets(i).Activate
With Sheets(i).UsedRange.Cells
Set Val = .Find(Cible, LookIn:=xlValues)
If Not Val Is Nothing Then
FirstAddress = Val.Address
Do
Val.Select
X = X + 1
ReDim Preserve Tableau(2, X)
Tableau(0, X - 1) = "Cellule " & Val.Address
Tableau(1, X - 1) = Sheets(i).Name
Set Val = .FindNext(After:=ActiveCell)
Loop While Not Val Is Nothing And Val.Address <> FirstAddress
End If
End With
Next i
Sheets(1).Activate
Application.ScreenUpdating = True

Resultat = "Resultat de la recherche sur le mot : " & Cible & Chr(10) & Chr(10)
If X = 0 Then
Resultat = Resultat & "Vide"
Else
For j = 1 To X
Resultat = Resultat & Tableau(0, j - 1) & Chr(9) & Tableau(1, j - 1) & Chr(10)
Next j
End If
MsgBox Resultat

End Sub

Merci à l'avance !!!
Maguy
 
J

Jacques

Guest
bonsoir Maguy, bonsoir le forum,
je n'interviens pas pour t'aider jeune fille, désolé mais cela dépasse mes compétences. mais je souhaitais simplement te passer le bonjour et te poser la question suivante : ou as tu pecher une telle macro ? cela ressemble vraiment à une usine à gaz!!!!
te souhaitant bonne chance pour ta recherche et surtout une bonne soirée!
 
C

CBernardT

Guest
Bonsoir Maguy

Pour que la recherche soit effectuée dans les colonnes "A" et "D", il te faut changer la ligne de code suivante :

With Sheets(i).UsedRange.Cells

Par la suivante :

With Sheets(i).Range("A:A,D:D")

Cordialement

CBernardT
 

Discussions similaires

Réponses
11
Affichages
343
Réponses
2
Affichages
294

Statistiques des forums

Discussions
312 429
Messages
2 088 351
Membres
103 824
dernier inscrit
frederic.marien@proximus.