userform de recherche multiselection puis copier coller dans une autre feuille
1 réponse
Dominique
Bonjour,
J ai un userform multiselection qui marche bien.
voici les codes qui initialise mes listbox Commune et Demandeur. je
sélectionne une commune dans la listbox : LB_Commune et tous les
demandeurs de cette commune apparaissent dans la listbox multiselection
: LB_Demandeur
Aprés une sélection de un ou plusieurs Demandeurs, Il faudrait que la ou
les sheets("BD"). range ("G:W") contenant le nom du demandeur en
Range(I) soit copié vers la sheets("lievre").range("A"& .End(xlUp).
Et la je coince, donc j'ai mis un petit fichier pour comprendre.
http://www.cijoint.fr/cjlink.php?file=cj200908/cijx2KSV5n.xlsm
Et j ai commencé un code mais bon pas terrible
merci pour votre aide
Private Sub Validez_Click()
Dim DerligLI As Long, DerligBD As Long
Dim X As Integer, y As Integer
Dim LB_Demandeur As Range
DerligLI = Sheets("Lievre").Range("A15 : A65000").End(xlUp).Row 'la
premiere ligne vide de A dans feuil lievre
DerligBD = Sheets("BD").Range("I65536").End(xlUp).Row ' derniere ligne
vide de I dans feil BD
With Sheets("BD") 'avec sheets BD
If LB_Demandeur <> "" Then 'si LB_Demandeur n' est pas vide
'DANS LA COLONNE i DE BD trouve la valeur LB_Demandeur
selectionner dans la listbox
Set LB_Demandeur = .Range("I2:I" & Derlig).Find(LB_Demandeur)
y = 15
'Dans chaque ligne BD en I
For X = 2 To DerligBD
If .Range("A" & X).Value = LB_Demandeur.Offset(o, -2).Value
Then
'copie en sheets lievre derligne libre
Copy Destination:=DerligLI
y = y + 1
End If
Next X
End If
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichDenis
Bonjour Dominique,
Il y a problème avec la publication de ton fichier. Télécharge le et décompresse le, tu verras !
"Dominique" a écrit dans le message de groupe de discussion :
Bonjour,
J ai un userform multiselection qui marche bien. voici les codes qui initialise mes listbox Commune et Demandeur. je sélectionne une commune dans la listbox : LB_Commune et tous les demandeurs de cette commune apparaissent dans la listbox multiselection : LB_Demandeur Aprés une sélection de un ou plusieurs Demandeurs, Il faudrait que la ou les sheets("BD"). range ("G:W") contenant le nom du demandeur en Range(I) soit copié vers la sheets("lievre").range("A"& .End(xlUp). Et la je coince, donc j'ai mis un petit fichier pour comprendre. http://www.cijoint.fr/cjlink.php?file=cj200908/cijx2KSV5n.xlsm Et j ai commencé un code mais bon pas terrible merci pour votre aide Private Sub Validez_Click()
Dim DerligLI As Long, DerligBD As Long
Dim X As Integer, y As Integer Dim LB_Demandeur As Range
DerligLI = Sheets("Lievre").Range("A15 : A65000").End(xlUp).Row 'la premiere ligne vide de A dans feuil lievre
DerligBD = Sheets("BD").Range("I65536").End(xlUp).Row ' derniere ligne vide de I dans feil BD
With Sheets("BD") 'avec sheets BD
If LB_Demandeur <> "" Then 'si LB_Demandeur n' est pas vide
'DANS LA COLONNE i DE BD trouve la valeur LB_Demandeur selectionner dans la listbox Set LB_Demandeur = .Range("I2:I" & Derlig).Find(LB_Demandeur)
y = 15 'Dans chaque ligne BD en I For X = 2 To DerligBD If .Range("A" & X).Value = LB_Demandeur.Offset(o, -2).Value Then 'copie en sheets lievre derligne libre Copy Destination:ÞrligLI y = y + 1 End If Next X End If
Il y a problème avec la publication de ton fichier.
Télécharge le et décompresse le, tu verras !
"Dominique" <dobidon@orange.fr> a écrit dans le message de groupe de discussion :
uPQdhCrGKHA.4956@TK2MSFTNGP03.phx.gbl...
Bonjour,
J ai un userform multiselection qui marche bien.
voici les codes qui initialise mes listbox Commune et Demandeur. je
sélectionne une commune dans la listbox : LB_Commune et tous les
demandeurs de cette commune apparaissent dans la listbox multiselection
: LB_Demandeur
Aprés une sélection de un ou plusieurs Demandeurs, Il faudrait que la ou
les sheets("BD"). range ("G:W") contenant le nom du demandeur en
Range(I) soit copié vers la sheets("lievre").range("A"& .End(xlUp).
Et la je coince, donc j'ai mis un petit fichier pour comprendre.
http://www.cijoint.fr/cjlink.php?file=cj200908/cijx2KSV5n.xlsm
Et j ai commencé un code mais bon pas terrible
merci pour votre aide
Private Sub Validez_Click()
Dim DerligLI As Long, DerligBD As Long
Dim X As Integer, y As Integer
Dim LB_Demandeur As Range
DerligLI = Sheets("Lievre").Range("A15 : A65000").End(xlUp).Row 'la
premiere ligne vide de A dans feuil lievre
DerligBD = Sheets("BD").Range("I65536").End(xlUp).Row ' derniere ligne
vide de I dans feil BD
With Sheets("BD") 'avec sheets BD
If LB_Demandeur <> "" Then 'si LB_Demandeur n' est pas vide
'DANS LA COLONNE i DE BD trouve la valeur LB_Demandeur
selectionner dans la listbox
Set LB_Demandeur = .Range("I2:I" & Derlig).Find(LB_Demandeur)
y = 15
'Dans chaque ligne BD en I
For X = 2 To DerligBD
If .Range("A" & X).Value = LB_Demandeur.Offset(o, -2).Value
Then
'copie en sheets lievre derligne libre
Copy Destination:ÞrligLI
y = y + 1
End If
Next X
End If
Il y a problème avec la publication de ton fichier. Télécharge le et décompresse le, tu verras !
"Dominique" a écrit dans le message de groupe de discussion :
Bonjour,
J ai un userform multiselection qui marche bien. voici les codes qui initialise mes listbox Commune et Demandeur. je sélectionne une commune dans la listbox : LB_Commune et tous les demandeurs de cette commune apparaissent dans la listbox multiselection : LB_Demandeur Aprés une sélection de un ou plusieurs Demandeurs, Il faudrait que la ou les sheets("BD"). range ("G:W") contenant le nom du demandeur en Range(I) soit copié vers la sheets("lievre").range("A"& .End(xlUp). Et la je coince, donc j'ai mis un petit fichier pour comprendre. http://www.cijoint.fr/cjlink.php?file=cj200908/cijx2KSV5n.xlsm Et j ai commencé un code mais bon pas terrible merci pour votre aide Private Sub Validez_Click()
Dim DerligLI As Long, DerligBD As Long
Dim X As Integer, y As Integer Dim LB_Demandeur As Range
DerligLI = Sheets("Lievre").Range("A15 : A65000").End(xlUp).Row 'la premiere ligne vide de A dans feuil lievre
DerligBD = Sheets("BD").Range("I65536").End(xlUp).Row ' derniere ligne vide de I dans feil BD
With Sheets("BD") 'avec sheets BD
If LB_Demandeur <> "" Then 'si LB_Demandeur n' est pas vide
'DANS LA COLONNE i DE BD trouve la valeur LB_Demandeur selectionner dans la listbox Set LB_Demandeur = .Range("I2:I" & Derlig).Find(LB_Demandeur)
y = 15 'Dans chaque ligne BD en I For X = 2 To DerligBD If .Range("A" & X).Value = LB_Demandeur.Offset(o, -2).Value Then 'copie en sheets lievre derligne libre Copy Destination:ÞrligLI y = y + 1 End If Next X End If