XL 2013 Userform avec liste déroulante en fonction d'une pré-sélection

papc0

XLDnaute Nouveau
Bonjour à tous,
Je suis très débutante en VBA et ce projet est trop complexe pour moi, peut-être pourriez vous m'aider;
J'ai une liste de noms (Ex. Colonne A) avec d'autres infos dans les colonnes suivantes.
J'aimerais (par p-e une checkbox ou autre) sélectionner des noms, et au moyen d'une macro (formulaire p-e...), choisir une catégorie (via liste déroulante) et qu'à toutes mes personnes sélectionnées, cette information se rajoute à la colonne E.

J'espère avoir été claire, et que quelqu'un aura une idée à me proposer.

Merci !!!
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour ou Bonsoir @papc0 , le Forum

Bienvenue sur XLD !!!

Un petit exemple démo, est plus efficace qu'un long discours je pense....
Tu regarderas ce que je fais, avec un UserForm 1, dans le Code de celui-ci, tu verras ceci :

VB:
Option Explicit

Private Sub UserForm_Initialize()
Dim MyWS As Worksheet
Dim MyPlage As Range, MyCell As Range

Set MyWS = ThisWorkbook.Worksheets("Sheet1")
Set MyPlage = MyWS.Range("A2:A" & MyWS.Range("A500").End(xlUp).Row) '<<<< On définit la plage de cellules non vides en colonne A

Me.ListBox1.Locked = True

    For Each MyCell In MyPlage
        If MyCell.Offset(0, 3) <> "" Then    '<<<< On regarde si la cellule à droite décallée de 3 (soit "D") n'est pas vide
            Me.ListBox1.AddItem MyCell.Value '<<<< On ajoute les noms qui vont être traités (visu seule)
        End If
    Next MyCell

    With Me.ListBox2
    .AddItem "Catégorie AAA"                 '<<<< On ajoute les Catégories en "dur"
    .AddItem "Catégorie BBB"
    .AddItem "Catégorie CCC"
    .AddItem "Catégorie DDD"
    .AddItem "Catégorie EEE"
    End With

End Sub


Private Sub CommandButton1_Click()
Dim MyWS As Worksheet
Dim MyPlage As Range, MyCell As Range

Set MyWS = ThisWorkbook.Worksheets("Sheet1")
Set MyPlage = MyWS.Range("A2:A" & MyWS.Range("A500").End(xlUp).Row)

For Each MyCell In MyPlage
    If MyCell.Offset(0, 3).Value <> "" Then            '<<<< On regarde si la cellule à droite décallée de 3 (soit "D") n'est pas vide
        MyCell.Offset(0, 4).Value = Me.ListBox2.Value  '<<<< On écrit la catégorie en décallé de 4, soit "E"
    End If
Next MyCell
End Sub

Pour que ca fonctionne, tu écris ce que tu veux en colonne "D" les Noms seront pris en compte comme étant "sélectionnés"...

Bonne découvert du monde VBA et du monde XLD aussi ;) !

Bien à toi, à vous
@+Thierry
 

Pièces jointes

  • XLD_papc0_mini_Demo_USF_Adding_Category_v00.xlsm
    22.4 KB · Affichages: 24

Discussions similaires

Réponses
36
Affichages
2 K

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16