Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[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:

mth

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

Bonsoir,

Si les menus déroulants sont des cellules avec des listes de validation, un copier/coller devrait fonctionner.

@ +

mth
 

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
800
Réponses
1
Affichages
442
Réponses
8
Affichages
371
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…