bonjour,
J'ai un tableau avec en colonne A des dates format jj/mm/aaaa, en colonne B des kilomètres, et en C des litres (pour faire un suivi consommation véhicules).
Je souhaiterais par le biais d'un userform, dans lequel je rentre le véhicule dans combobox1, et une date dans label1, que dans listbox1 s'affiche la date ainsi que les kms et litres.
j'ai récupéré ce code, mais que faut-il modifier pour que la recherche :
1 - Se fasse dans la feuille ouverte,
2 - De A1 à A65536 ? (dates format jj/mm/aaaa)
Merci.
Private Sub CommandButton1_Click()
Dim Sh As Worksheet
On Error Resume Next
Set Sh = Sheets(ComboBox1.Value)
If Err Then MsgBox "Feuille introuvable", 48: ComboBox1.DropDown: Exit Sub 'en cas d'entrée manuelle incorrecte
On Error GoTo 0
Sh.Visible = True 'en cas de feuille masquée
Sh.Activate
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 <> "HOME" Then
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
J'ai un tableau avec en colonne A des dates format jj/mm/aaaa, en colonne B des kilomètres, et en C des litres (pour faire un suivi consommation véhicules).
Je souhaiterais par le biais d'un userform, dans lequel je rentre le véhicule dans combobox1, et une date dans label1, que dans listbox1 s'affiche la date ainsi que les kms et litres.
j'ai récupéré ce code, mais que faut-il modifier pour que la recherche :
1 - Se fasse dans la feuille ouverte,
2 - De A1 à A65536 ? (dates format jj/mm/aaaa)
Merci.
Private Sub CommandButton1_Click()
Dim Sh As Worksheet
On Error Resume Next
Set Sh = Sheets(ComboBox1.Value)
If Err Then MsgBox "Feuille introuvable", 48: ComboBox1.DropDown: Exit Sub 'en cas d'entrée manuelle incorrecte
On Error GoTo 0
Sh.Visible = True 'en cas de feuille masquée
Sh.Activate
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 <> "HOME" Then
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