[Résolu] Menu déroulant appliqué à une plage de cellule

Lebonetletruand

XLDnaute Occasionnel
Bonsoir,

J'ai une toute petite question. J'ai affecté un menu déroulant à chaque ligne d'un tableau pour permettre la sélection d'un fournisseur. Il y a 120 lignes de produits. Lorsque plusieurs lignes consécutives ont le même choix, j'aimerais sélectionner la plage de cellule et faire une seule fois la sélection du fournisseur qui s'appliquera à la plage.

L'intérêt est de gagner du temps et d'éviter de sélectionner ligne par ligne. Est ce possible?

Merci par avance
 
Dernière édition:

Softmama

XLDnaute Accro
Re : Menu déroulant appliqué à une plage de cellule

Bonsoir,

Vois si cela te convient :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
    Dim c As Range
    Load UserForm1
    With UserForm1
        For Each c In Range("Produits")
            .ListBox1.AddItem CStr(c)
        Next
        .StartUpPosition = 0
        .Left = Target(1, 2).Left + 20
        .Top = Target.Top + .Height / 2 + 10
        .Show
        Target = .ListBox1.Value
    End With
    Unload UserForm1
End Sub
 
Dernière édition:

Lebonetletruand

XLDnaute Occasionnel
Re : Menu déroulant appliqué à une plage de cellule

Merci Mth, je n'avais même pas pensé à cette possibilité... je mets ça sur le compte de l'heure tardive.

Softmama, merci pour ta solution, ça répond à ma question. Je vais la retenir pour mon cas, ça présente bien dans un tableau (Sourire)

Bonne soirée à vous deux
 

ROGER2327

XLDnaute Barbatruc
Re : [Résolu] Menu déroulant appliqué à une plage de cellule

Bonjour à tous
Une procédure évènementielle ?
Code:
[COLOR=DarkSlateGray][B]Private Sub Worksheet_Change(ByVal Target As Range)
Dim plg, zon As Range
  Set zon = [C4:C37] [COLOR=DarkOrange]'= plage de travail, à adapter.[/COLOR]
  Set plg = Intersect(Target, zon)
  If Not plg Is Nothing Then
    With Intersect(Selection, zon)
      With Application: .ScreenUpdating = 0: .Calculation = -4135: .EnableEvents = 0: End With
      If .Count > 1 Then .FillDown
      With Application: .EnableEvents = 1: .ScreenUpdating = 0: .Calculation = -4105: End With
    End With
  End If
End Sub[/B][/COLOR]
Voyez le classeur joint.
ROGER2327
#4546


Dimanche 15 As 138 (Navigation du Dr Faustroll, SPs)
27 Brumaire An CCXIX
2010-W46-3T01:01:02Z
 

Pièces jointes

  • Temp.xls
    15.5 KB · Affichages: 74
  • Temp.xls
    15.5 KB · Affichages: 76
  • Temp.xls
    15.5 KB · Affichages: 80

choupi_nette

XLDnaute Occasionnel
Re : [Résolu] Menu déroulant appliqué à une plage de cellule

Bonjour,
j'ai une question a propos de ce fil..
pensez vous qu il est possible d'appliquer un menu deroulant a plusieurs cellules en ligne ou en colonne ??
Parce que la quand je selectionne une plage de cellule autre que ligne ou colonne j'ai un message d'erreur..
merci
 

Discussions similaires

Réponses
14
Affichages
764
Réponses
1
Affichages
434
Réponses
8
Affichages
364

Statistiques des forums

Discussions
312 576
Messages
2 089 856
Membres
104 290
dernier inscrit
Beloumi3