Bonjour,
je vien encore a vous, car je cherche mais ne connaissant rien a VBA je rame dure dure.
en gros dans un USF, j'ai une combobox, qui me permet de choisir un équipement, ensuite je clic sur un bouton et dans une listbox, j'affiche ce qui correspond
en gros si je recherche "trucmuche" qui est ecrit en A23, A24, A25 et A26, avec des infos sur les 4 première colonne, dans la listbox j'ai sur la premiere colonne A23 a 26, Deuxième colonne B23 a 26, jusqu'a D dans la quatrième colonne.
ce que je voudrais faire c'est ne pas être obliger de rentrer trucmuche 4 fois, mais juste une fois sur la première ligne, il y a bien sur plusieurs équipement, et le nombre de ligne qui correspond a trucmuche varie de 1 a beaucoup.
donc ce que je voudrais c'est faire un copier a partir de l'équipement jusqu'à la dernière ligne vide (celle au dessus de l'équipement qui suis) et coller sur une zone temporaire (par exemple sur une autre feuil) et que ce soit cette zone temporaire qui alimente ma listbox.
voici mon code actuel qui marche nikel, mais oblige a marquer trucmuche autant de fois que j'ai de ligne pour lui :
'-----------------------------------------------------------------------------------
Private Sub CommandButton1_Click()
Dim Plage As Range, Cell As Range
Dim recherche As String, Adresse As String
Dim ligne As Integer, N As Integer
Dim C As Range
ListBox1.Clear
N = 0
recherche = ComboBox1.Value
'Range("A1").Select
ligne = Feuil5.Range("A" & "65536").End(xlUp).Row
Set Plage = Feuil5.Range("A" & "2:" & "A" & ligne)
With Plage
Set C = .Find(recherche)
If Not C Is Nothing Then
Adresse = C.Address
Do
If UCase(recherche) = UCase(Left(C, Len(recherche))) Then
'alimentation listBox
ListBox1.AddItem C.Offset(0, 4), N
ListBox1.List(N, 0) = C
ListBox1.List(N, 1) = C.Offset(0, 1)
ListBox1.List(N, 2) = C.Offset(0, 2)
ListBox1.List(N, 3) = C.Offset(0, 3)
N = N + 1
End If
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> Adresse
End If
End With
End Sub
'-------------------------------------------------------------------------------------
Merci d'avance a tous.
bignou77
je vien encore a vous, car je cherche mais ne connaissant rien a VBA je rame dure dure.
en gros dans un USF, j'ai une combobox, qui me permet de choisir un équipement, ensuite je clic sur un bouton et dans une listbox, j'affiche ce qui correspond
en gros si je recherche "trucmuche" qui est ecrit en A23, A24, A25 et A26, avec des infos sur les 4 première colonne, dans la listbox j'ai sur la premiere colonne A23 a 26, Deuxième colonne B23 a 26, jusqu'a D dans la quatrième colonne.
ce que je voudrais faire c'est ne pas être obliger de rentrer trucmuche 4 fois, mais juste une fois sur la première ligne, il y a bien sur plusieurs équipement, et le nombre de ligne qui correspond a trucmuche varie de 1 a beaucoup.
donc ce que je voudrais c'est faire un copier a partir de l'équipement jusqu'à la dernière ligne vide (celle au dessus de l'équipement qui suis) et coller sur une zone temporaire (par exemple sur une autre feuil) et que ce soit cette zone temporaire qui alimente ma listbox.
voici mon code actuel qui marche nikel, mais oblige a marquer trucmuche autant de fois que j'ai de ligne pour lui :
'-----------------------------------------------------------------------------------
Private Sub CommandButton1_Click()
Dim Plage As Range, Cell As Range
Dim recherche As String, Adresse As String
Dim ligne As Integer, N As Integer
Dim C As Range
ListBox1.Clear
N = 0
recherche = ComboBox1.Value
'Range("A1").Select
ligne = Feuil5.Range("A" & "65536").End(xlUp).Row
Set Plage = Feuil5.Range("A" & "2:" & "A" & ligne)
With Plage
Set C = .Find(recherche)
If Not C Is Nothing Then
Adresse = C.Address
Do
If UCase(recherche) = UCase(Left(C, Len(recherche))) Then
'alimentation listBox
ListBox1.AddItem C.Offset(0, 4), N
ListBox1.List(N, 0) = C
ListBox1.List(N, 1) = C.Offset(0, 1)
ListBox1.List(N, 2) = C.Offset(0, 2)
ListBox1.List(N, 3) = C.Offset(0, 3)
N = N + 1
End If
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> Adresse
End If
End With
End Sub
'-------------------------------------------------------------------------------------
Merci d'avance a tous.
bignou77