XL 2016 Modification les valeurs d'une même colonne d'une ListBox dans USF

Damien0507

XLDnaute Nouveau
Bonjour à tous.

Je viens solliciter votre aide car je pêche un peu (beaucoup) sur un fichier que je suis entrain de construire.

J'ai construit un USF pour aller chercher dans une BDD des informations suivant plusieurs ComboBox et tout s'inscrit nickel dans ma ListBox.
J'arrive à faire de la multisélection de mes lignes que je souhaite modifier.
Par contre dès que je rentre dans des TextBox les valeurs à modifier, je n'arrive qu'à modifier ligne par ligne et non pas ma l'intégralité de ma multisélection.

Mon fichier servira de planning pour mon personnel.
1681888640355.png


Je souhaiterais pouvoir par exemple sélectionner ces 5 personnes (Multi sélection OK)
Modifier la date (en colonne 0 de la ListBox) mais également l'heure d'entrée (colonne 8 de la ListBox) et de sortie (Colonne 10 de la ListBox) et Lorsque j'appuie sur le bouton "Modification Date et Heures Globales" ces 3 éléments se changent dans la ListBox pour les 5 personnes en une seule fois et non pas ligne par ligne.

Pour information:
Je sais vous aller me dire que si il n'y a que 5 personnes à changer on peut faire du ligne à ligne, ça prendra moins de temps de le faire que de programmer....
Mais en fait j'ai plusieurs centaines de personnes à modifier chaque semaine.....

Ci-dessous la capture de la programmation du bouton "Modifier"
1681889403338.png


J'espère que vous pourrez m'apporter vos lumières sur ce problème .

Merci d'avance pour votre grande aide.

Bonnejournée à vous.

Cordialement.

Damien.
 

Oneida

XLDnaute Impliqué
Bonjour,
Il faut faire une boucle sur votre listbox pour rechercher les "lignes" selectionnees.
La listbox ne doit pas etre remplie par RowSource=kakechose
un exemple
VB:
Private Sub CommandButton1_Click()
        With ListBox1
            Nb = .ListCount - 1
            For i = 0 To Nb
                If .Selected(i) = True Then
                    .List(i, 0) = "azert"        'Formateur
                    .List(i, 1) = "qsdf"     '@Mail
                End If
            Next i
        End With

End Sub
 

Damien0507

XLDnaute Nouveau
Bonjour Oneida,

Tout d'abord merci pour votre réactivité et le temps que vous avez passé sur ma problématique.

Donc j'ai testé votre codage, mais ça ne fonctionne pas....
J'ai dû mal faire quelque chose... Je débute dans ce monde très intéressant...
Voici ma macro

Function show_data_in_listbox()
ListBox1.ColumnCount = 7
ListBox1.ColumnWidths = ""
Sheets("Personnel").Activate
Dim lastrow As Long
lastrow = Cells(Rows.Count, "A").End(xlUp).Row
ListBox1.List = Range("A1:G" & lastrow).Value
End Function


Private Sub UserForm_Initialize()
Call show_data_in_listbox
With ListBox1
Nb = .ListCount - 1
For i = 0 To Nb
If .Selected(i) = True Then
.List(i, 0) = "Aaaaaaaaaa" 'Formateur
.List(i, 1) = "Aaaaaaaaa" '@MAIL
End If
Next i
End With
End Sub

Ma ListBox s'affiche bien, mais ne se trie pas....

Merci encore à vous.
 

Damien0507

XLDnaute Nouveau
Oups.... je suis sur 2 choses en même temps....

Le sujet pour lequel je vous ai sollicité et un tri par ordre alphabétique dans une autre ListBox....

Je reviens vers vous une fois que j'aurais tout remois en place.

Désolé encore pour le désagrément.
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin