faire des choix dans une liste obtenu à partir d'un fichier excel

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 !

marie49

XLDnaute Occasionnel
Bonjour,

J'utilise une macro sous excel qui me permet de récupérer des données d'une feuille excel pour les mettre dans une autre feuille. Je récupère toutes les lignes du tableaux de départ or je souhaiterai que l'utilisateur fasse un choix parmi ces lignes.

est ce possible? Je pense que c'est avec un combobox et après un tableau dans vba mais je n' ai jamais utilisé de combobox.

Pour mieux me faire comprendre, je vous envoie un tableau avec des exemples bidon. Dans feuil1, c'est mon tableau de départ et dans feuil2 le tableau résultat (c'est pour faire du publipostage ensuite).
Et dans Feuil3, le même type de résultat mais avec un choix fait sur les lignes.
Comment donner à l'utilisateur de faire un choix? je ne souhaite pas que l'utilisateur ajoute une donnée du style un oui/non dans le tableau de départ.

Merci de votre réponse
Marie
 

Pièces jointes

Re : faire des choix dans une liste obtenu à partir d'un fichier excel

Salut,marie49

tu dis que tu as une Macro mais dans ton Exemple il existe aucune trace de la macro ? au moins essayé de la soumettre pour pouvoir éventuellement l'adapter ou la changer selon vos désires

Cordialement
 
Re : faire des choix dans une liste obtenu à partir d'un fichier excel

Bonjour,

Voici l'exemple avec la macro... La macro pour l'instant prend l'ensemble des lignes de la feuille1 pour les mettre dans la feuille2. Je souhaite que l'utilisateur fasse un choix sur le champ 'enseignement' ou le champ 'code' pour ne copier que les lignes correspondantes.

Marie
 

Pièces jointes

Re : faire des choix dans une liste obtenu à partir d'un fichier excel

Bonjour,

Une solution très simple avec la macro ci-dessous. Pour la lancer, le mieux est de lui affecter le raccourci clavier Ctrl+a.

Sélectionner (sélection multiple éventuellement en maintenant la touche Ctrl enfoncée) les lignes à copier et appuyer sur Ctrl+a. Les lignes sont copiées et collées dans la 3ème feuille.

Code:
Sub Copie()
On Error Resume Next
Sheets(3).Cells.Clear
Selection.Copy Sheets(3).Range("A1")
End Sub

A+

Edit : pour remplir la 2ème feuille : remplacer Sheets(3) par Sheets(2)...
 
Dernière édition:
Re : faire des choix dans une liste obtenu à partir d'un fichier excel

(re)Bonjour Bqtr,

Ca commence à s'adapter petit à petit...

J'obtiens mes données dans une boite de dialogue.

Une petite question : comment fait-on pour adapter à la largeur de chaque champ. La place consacrée à une donnée est la même pour les autres. J'ai des données de différentes longueur.

est ce possible?
merci
marie
 
Re : faire des choix dans une liste obtenu à partir d'un fichier excel

Re,

Quand tu parles de boite de dialogue, c'est une listbox ?
Dans ce cas c'est possible d'adapter automatiquement la largeur des colonnes au contenu.

Si c'est ça dis le, j'avais mis un exemple sur ce forum j'essayerai de la retrouver.

Sinon met une fichier en exemple avec ta boite de dialogue.

A+
 
Re : faire des choix dans une liste obtenu à partir d'un fichier excel

Oui, c'est ca, la listbox. Il s'agit de la liste se trouvant dans le userform.


Je souhaiterai adapter la largeur à la taille de mes données.

Si tu peux retrouver ce que tu avais fait et me l'envoyer, merci.
Je vais chercher dans le forum aussi.

A+
Marie
 
Re : faire des choix dans une liste obtenu à partir d'un fichier excel

Bonjour,

J'ai trouve sur le forum :
ListBox1.ColumnWidths = "50 ; 300 ; 50; 30"

merci beaucoup pour votre aide...

Maintenant, je vais tester avec les copies des lignes et ma macro d'origine...

A bientot
Marie
 
Re : faire des choix dans une liste obtenu à partir d'un fichier excel

Re,

La macro que j'ai proposée n'a pas l'air d'avoir du succès, mais sait-on jamais...

La voici complétée pour copier aussi la largeur des colonnes de la sélection :

Code:
Sub Copie()
Dim col As Object
On Error GoTo 1
Sheets(3).Cells.Clear
Selection.Copy Sheets(3).Range("A1")
For Each col In Selection.Columns
Sheets(3).Columns(col.Column - Selection.Column + 1).ColumnWidth = col.ColumnWidth
Next
1 End Sub

A+
 
Dernière édition:
Re : faire des choix dans une liste obtenu à partir d'un fichier excel

Bonjour job75,

merci pour ta solution mais ce n'était pas mon idée de départ c'est vrai.
Si je comprends bien, tu fais une copie sur une autre feuille de toutes les lignes... ensuite l'utilisateur sélectionne celles qu'il veut???

Je vais quand même y réfléchir car c'est vrai que l'idée est plus simple. Mais, je ne veux pas que l'utilisateur fasse des erreurs de manipulation sur les données et il me semble que c'est plus long...

merci
Marie
 
Re : faire des choix dans une liste obtenu à partir d'un fichier excel

Re Marie,

L'utilisateur sélectionne ce qu'il veut (de préférence des lignes) dans la 1ère feuille. Il suffit de faire Ctrl+a pour copier la sélection (avec les dimensions des colonnes) dans la 3ème feuille.

Dans certains cas de sélections multiples, la copie ne peut pas se faire, c'est normal sur Excel (d'où le On Error... dans la macro).

A+
 
- 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

Retour