copier coller complexe

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 !

bignou77

XLDnaute Occasionnel
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
 
Re : copier coller complexe

Salut et en premier merci a toi BrunoM45 de prendre de ton temps pour moi,Voici un fichier.
j'espere que cela va pouvoir rendre ma requête plus clair.

Merci d'avance
 

Pièces jointes

Dernière édition:
Re : copier coller complexe

Bonjour a tous,
J'ai avancer sur le problème, mais je bloque cette fois si sur un truc vraiment tous bête.
voir le fichier joint, je voudrais juste définir la source de la listbox avec la même plage, mais - (moins) 1 ligne, car la ça me donne une ligne de trop.
Voila

Merci a tous.

PS : j'arrête si prêt du bute car je doit aller travailler.
 

Pièces jointes

Re : copier coller complexe

Salut a tous,
et merci a toi matthieu33.

j'y est penser sur la route, je savais que c'etait simple, j'ai tenter plusieurs truc plus compliquer que ca.
pourquoi faire simple quand on peu faire compliquer ? hein ?


En tous ça voici un nouveau problème de régler.

Merci a tous les membre du forum.
@ bientôt
Bignou77
 
- 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

Discussions similaires

Réponses
10
Affichages
663
Réponses
5
Affichages
911
Retour