aide avec une macro de recherche

  • Initiateur de la discussion Initiateur de la discussion Maguy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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!
 
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😀")

Cordialement

CBernardT
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
237
Réponses
4
Affichages
177
  • Question Question
Réponses
7
Affichages
325
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
144
Réponses
10
Affichages
281
Réponses
2
Affichages
153
Retour