Recherche avec UserForme dans feuille défini
Bonjour, je voudrais que l'UserForme "RECHERCHE" ne fait la recherche que dans mes feuilles "Saisie MA" & "Saisie MLx" car il me trouve les MABEC aussi sur la feuille "Base Couteaux de rasage" et "CR" merci
" MABEC = Z000 000 000 ou P117 000 000 "
----- Mon CODE--------------
Option Explicit
Option Compare Text
Const Sign As String = "RECHERCHES"
'ICI C'est la mise en place initialisation
Private Sub UserForm_Initialize()
Dim cel As Range
'pour la date du jour
Me.Caption = Format(Date, "dddd dd mmmm yyyy")
With ListBox1
.ColumnCount = 9
.ColumnWidths = "58;25;60;60;80;120;120;90;90"
End With
Me.CommandButton1.Default = True
End Sub
Private Sub UserForm_Activate()
' pour définir la couleur des objets lors de l'initialisation d'un UserForm.
With RECHERCHETOUS
.BackColor = &H8000000F
.CommandButton1.BackColor = &H8000000F
.CommandButton2.BackColor = &H8000000F
.Label3.BackColor = &H8000000F
End With
End Sub
'ICI C'est le Moteur de Recherche
Private Sub CommandButton1_Click()
Dim c As Range
Dim tablo() As String
Dim Text As String
Dim S As Byte
Dim Firstaddress As String
Dim i As Integer, x As Integer, L As Integer
Text = Me.TextBox1
If Text = "" Then Exit Sub
For S = 1 To Worksheets.Count
If Worksheets(S).Name <> "CR" Then '---------- ICI on ma répondu pour la feuille CR mais je ne sais pas mettre l'autre feuille -------
With Sheets(S).UsedRange
Set c = .Find(Text, LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
Firstaddress = c.Address
Do
ReDim Preserve tablo(8, i)
For x = 1 To 6
tablo(x - 1, i) = c.Offset(0, x - c.Column).Text
Next x
tablo(6, i) = Sheets(S).Name
tablo(7, i) = c.Address(0, 0)
i = i + 1
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> Firstaddress
End If
End With
End If
Next S
If i = 0 Then
MsgBox "Le Texte " & Text & " n'a pas été trouvé" & vbCrLf & "Faites un essai sur une partie du nom", vbCritical, Sign
Exit Sub
End If
Me.ListBox1.Column() = tablo()
End Sub
'ICI C'est la sélection au Double Click & Sortie du UserForm
Private Sub ListBox1_dblClick(ByVal Cancel As MSForms.ReturnBoolean)
Sheets(CStr(ListBox1.Column(6))).Activate
Range(ListBox1.Column(7)).Activate
Unload Me
End Sub
'ICI Sortie du UserForm
Private Sub CommandButton2_Click()
Unload Me
End Sub
Bonjour,
Dans la procédure :
Private Sub CommandButton1_Click()
remplacer la ligne suivante qui excluait déjà la feuille "CR" pour la recherche :
If Worksheets(S).Name <> "CR" Then ' **** CR au lieu de ""
par la ligne suivante qui exclut les deux feuilles ("CR" et "Base Couteaux de rasage") qui ne sont pas concernées par la recherche :
If Worksheets(S).Name <> "CR" And Worksheets(S).Name <> "Base Couteaux de rasage" Then ' **** CR au lieu de ""
et teste.
Remarque : Quand tu mets le fichier à la disposition qui contient déjà la macro, ce n'est pas la peine de copier tout le code dans le message.
Bonjour , merci Raja marche impec