ListBox - Copier des lignes à plusieurs colonnes vers des cellules

Bonjour,

J'aimerais savoir si il étais possible que quand j'exécute mon USF nommé UserForm1 de copier les lignes que je sélectionne ?
Je pense que c'est possible mais je ne trouve pas le code par moi-même...

Je vous joint le fichier si jamais.

Bonjour

Oulàlà votre fichier

1. L'userform 1 a un bug au lancement. Normal puisque pas le tableau1 n'est pas défini
2. Pourquoi mettez-vous les SUB dans thisworkbook ????. Toutes ces SUB doivent aller dans un module et non à cet endroit
3. Je vois que vous utilisez (comme tant d'autres!!!!) l'instruction HIDE. Attention que comme cela votre userform est cachée à l'arrière plan et donc toujours active. Utilisez l'instruction UNLOAD
4.

de copier les lignes que je sélectionne ?

Copier et mettre où ?

Dans l'attente de votre fichier corrigé

Je vous ai répondu pour comment utiliser le ficier dans un autre fil.

J'avoue cependant que j'ai un peu laisser tomber les USF car trop complexe pour moi.
Je préfère avoir un fichier qui fonctionne simplement et après rajouter des complexités.

Mais oui je vous l'accorde j'ai du travail à faire sur mon code et comment les organiser et la bonne utilisation de l'éditeur VBA

3. j'utilise aussi le Unload mais sans le Hide je peux tout de même utiliser les valeurs dans la listbox ?

4. Il s'agirait de mettre les lignes dans la feuille "Colisage" pour l'instant.

L'idée de cette USF était de permettre de choisir un ordre d'importance pour les colis.

En espérant vous avoir éclairer.

Bonjour

3. j'utilise aussi le Unload mais sans le Hide je peux tout de même utiliser les valeurs dans la listbox ?

Lorsque vous avez fini d'exécuter le code Valider, il n'y a pas de raison à ce que l'userform soit cachée dans votre cas

Il me semble que dans l'autre fil https://forum.excel-pratique.com/excel/vba-resolution-probleme-pour-mettre-des-palettes-dans-un-cami..., le code est réalisé ou je me trompe ?
Cordialement

ah oui je vois. J'execute mon code et ensuite je le ferme avec unload.

En effet, il s'agit d'un test de ma part mais cela ne fonctionnais pas il me semble. Vous pouvez l'essayer mais il ne donnait aucune valeur je crois.

Vous pouvez l'essayer mais il ne donnait aucune valeur je crois.

Votre fichier bugue à l'ouverture de l'userform donc je ne sais rien tester
La feuille Colisage est en tableau structuré mais le nom à disparu dans le fichier posté

je reviens sur ce que je vous ai écris dans mon post précédent et auquel vous n'avez pas répondu.
Désolé de ma question mais vu le fil suivant, qu'attendez vous de moi dans ce fil ?

j'avoue que je suis un peu perdu sur cette question. C'est surement pour ça que je ne vous ai pas très bien éclairé.

Mais en gros la listbox montre une liste de colis qui ont été créer et je voudrais ensuite qu'on puisse sélectionner des colis pour ensuite les copier dans la même feuille que le tableau source juste à côté.

Voici un fichier exemple exploitable.

24exemple1.xlsm (18.15 Ko)

Merci d'avance

Mais en gros la listbox montre une liste de colis qui ont été créer et je voudrais ensuite qu'on puisse sélectionner des colis pour ensuite les copier dans la même feuille que le tableau source juste à côté.

Ok mais vous recopiez dans la feuille Colisage ce que vous sélectionnez dans la listbox ?
Si oui lorsque vous faites cette opération la feuille Colisage est vide ou pas ?
dans votre dernier fichier exemple, la feuille Colisage n'existe pas, donc bug !

Oui l'idée est de sélectionner certaines lignes de la listbox et quand je valide elle se copie dans la feuille colisage en cellule AF6 par exemple.

Non la feuille est comme je vous la présente en permanence.

Purée... il n'y a rien qui correspond. Comment voulez vous que l'on donne des solutions lorsque le fichier est bridé ?

La feuille dans le fichier exemple, elle va où dans le fichier V7 ?

Dans le code que je vois dans le fichier exemple, vous recopiez les infos dans les colonnes B à E. Pourquoi me parlez vous de AF ?

      With Sheets("Colisage")
         For X = 0 To 4
            .Cells(I, X + 1) = ListBox1.List(K, X)
         Next
           I = I + 1
      End With

Edit : ce que j'aurais compris, c'est que vous effacez les données de la feuille Colisage, puis vous choisissez les nouvelles données dans la listbox

oui c'est vrai que je ne vous ai pas transmis la version complête car très fourni et tout n'est pas utile dans le fichier pour le problème.

Je vous transmets le fichier complet maintenant:

en fait les cellules avant AF6 sont complêter et j'aimerais les garder car elles me servent pour l'instant. Peut être que à l'avenir je les enèveraient.

J'aimerais que la ListBox prennent mes lignes que j'ai sélectionnées, les copient en AF6 et suivant. Et ensuite j'aimerais que les cases non selectionnée dans la ListBox se mettent à la suite.

Un peu comme le screen shot :

image

Concernant mon autre sujet, auriez-vous des pistes ?

J'aimerais que la ListBox prennent mes lignes que j'ai sélectionnées, les copient en AF6 et suivant. Et ensuite j'aimerais que les cases non selectionnée dans la ListBox se mettent à la suite.

Merci du fichier. Là c'est plus clair

Je vais voir pour le code. Mais avant, juste une suggestion.
Quand je vois ce que vous voulez faire vous auriez pu choisir dans votre tableau de gauche en mettant une case à cocher en colonne A
D'où plus besoin de userform et de tableau en AF non plus

Plus simple il me semble....

votre avis ?

Une case à cocher pour les cellules importante ?

Si c'est cela oui ca peut être une bonne idée et peut etre plus simple aussi.. Quoique je ne sais pas trop comment m'y prendre.
Si cela est plus simple pour vous aussi, on part là-dessus.

Et comment ressortir les cases cocher (soit en les copiant dans un autre tableau ou alors sans les copier dans un tableau, les utiliser dans un code) ? et comment mettre le reste des cases avec à la suite ?

Si c'est cela oui ca peut être une bonne idée et peut etre plus simple aussi.. Quoique je ne sais pas trop comment m'y prendre.
Si cela est plus simple pour vous aussi, on part là-dessus.

Aucun souci pour moi c'est juste que vous évitez les userform. Je vais vous proposer un code via cases à cocher en colonne A

Et comment ressortir les cases cocher (soit en les copiant dans un autre tableau ou alors sans les copier dans un tableau, les utiliser dans un code) ? et comment mettre le reste des cases avec à la suite ?

Il suffit de trier votre tableau en fonction des cases à cocher

Re

Faites ceci :
1. Click droite sur l'onglet "Colisage" et choisissez l'option "Visualiser le code"
2. Dans la fenêtre coller le code ci-dessous

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim dlg As Integer

If Target.Count > 1 Then Exit Sub

dlg = Range("B" & Rows.Count).End(xlUp).Row
If Not Intersect(Target, Range("A6:A" & dlg)) Is Nothing Then
    With Target
        .Font.Name = "Wingdings 2"
        .Font.Size = 12
        If .FormulaR1C1 = "R" Then .FormulaR1C1 = "£" Else: .FormulaR1C1 = "R"
        Target.Offset(0, 1).Select
    End With
    'Call Trier
End If
End Sub

3. Allez sur votre feuille colisage et cliquez dans les cellules en colonne A. Si vous voulez décocher, cliquer à nouveau sur la case à cocher

Faite un essai et donner votre avis avant d'aller plus loin

Ouais c'est parfait et c'est vrai que c'est beaucoup plus claire comme ca !

Merci de votre avis.

Est-il possible d'afficher toujours les petits carrés comme sur la photo ?

image

La prochaine étape serait de trier les cases directement donc ? D'après moi en tout cas.

Est-il possible d'afficher toujours les petits carrés comme sur la photo

Que voulez vous dire ? vous parlez du centrage ?

Si oui, il vous suffit de centrer les cellules de la colonne A. C'est une mise en format simple via les menus excel sans plus.

Non je veux dire que les cases à cocher s'affichent uniquement lorsque l'on clique une première fois sur la case et reste après (sans le signe "valider").

J'aurais aimé savoir s'il était possible que ce carré soit affiché tout le temps ?

J'aurais aimé savoir s'il était possible que ce carré soit affiché tout le temps

Comment complétez vous la feuille colisage ? Via un code et si oui, lequel ?

Le tableau est créer par la macro N03_Colisage.

Rechercher des sujets similaires à "listbox copier lignes colonnes"