A voir également:
- Recopie de données sélectionnées via un combo
- Effacer les données de navigation - Guide
- Reinstaller windows sans perte de données - Guide
- Comment sauvegarder toutes les données de mon téléphone - Guide
- Célia doit nettoyer le tableau ci-dessous pour l’ajouter à la base de données de son entreprise. les données sont ensuite traitées automatiquement. quelles sont les 4 cellules qui risquent de poser problème ? ✓ - Forum Excel
- La base de données de sécurité du serveur n'a pas de compte d'ordinateur pour la relation ✓ - Forum Réseau
3 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
29 janv. 2010 à 20:21
29 janv. 2010 à 20:21
Bonjour,
Dans l'évènement Click() du bouton :
Dans un module (ici le Module1) :
;o)
Dans l'évènement Click() du bouton :
Private Sub CommandButton1_Click() If ComboBox1.Text = "" Then Exit Sub Call Module1.SearchItem(ComboBox1.Text) End Sub
Dans un module (ici le Module1) :
Public Sub SearchItem(ByVal str As String) Dim cl Dim Lig As Integer For Each cl In Worksheets(2).Range("A3:A300") If cl.Value = str Then Lig = cl.Row Worksheets(2).Range("A" & Lig & ":G" & Lig).Copy Worksheets(3).Range("A2:G2") Exit Sub End If Next cl End Sub
;o)
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
29 janv. 2010 à 20:22
29 janv. 2010 à 20:22
Salut,
tu peux utiliser la propriété listindex du combobox qui renvoie la position de l'élément sélectionné dans ta liste (attention, commence à 0). Ds ton cas, pour récuperer le numéro de ligne sur ta feuil2, il ta faudra faire combobox.listindex + 3....
tu peux utiliser la propriété listindex du combobox qui renvoie la position de l'élément sélectionné dans ta liste (attention, commence à 0). Ds ton cas, pour récuperer le numéro de ligne sur ta feuil2, il ta faudra faire combobox.listindex + 3....
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
30 janv. 2010 à 01:25
30 janv. 2010 à 01:25
il faut faire comme ça:
Voilà
;o)
Public Sub SearchItem(ByVal str As String) Dim cl Dim Lig As Integer Dim DerniereLigne As Long For Each cl In Worksheets(2).Range("A3:A300") If cl.Value = str Then Lig = cl.Row DerniereLigne = Worksheets(3).Range("A3").End(xlDown).Row DerniereLigne = DerniereLigne + 1 Worksheets(2).Range("A" & Lig & ":G" & Lig).Copy Worksheets(3).Range("A" & derniereLigne & ":G" & DerniereLigne) Exit Sub End If Next cl End Sub
Voilà
;o)
29 janv. 2010 à 21:21
Ce code fonctionne à merveille. Il est rassurant de pouvoir s'appuyer sur votre compétence.
Juste un dernier petit souci à régler :
la recopie des données s'effectue sur la même plage A2:G2 du tableau
Je souhaiterai que les données s'inscrivent au fur et à mesure sur la dernière ligne vide du tableau
Amicalement votre