Liste de validation sur plage de cellules

  • Initiateur de la discussion Initiateur de la discussion stephg27
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

stephg27

XLDnaute Nouveau
[Résolu] Liste de validation sur plage de cellules

Bonjour,

Voilà, j'ai une feuille Excel dans laquelle les cellules sont remplies par l'utilisateur à l'aide d'une liste de validation, le contenu de la liste de validation étant récupéré par ailleurs dans des cellules de la même feuille. Jusque là, pas de soucis 😉.
Maintenant, j'aimerais que l'utilisateur puisse sélectionner plusieurs cellules (une ou plusieurs plages pas forcément jointes), que la liste de validation s'affiche et que la valeur choisie dans la liste de validation soit affectée à chacune des cellules multi-sélectionnées.
J'ai l'impression que je ne peux pas faire ça avec une simple liste de validation ? 😕 Comment m'y prendre d'une manière simple ? (je ne suis pas un pro (loin de là 🙄) du VBA).

En vous remerciant de votre aide et de vos exemples !

Bonne fin de journée,
Stéph
 
Dernière édition:
Re : Liste de validation sur plage de cellules

Bonsoir,

Peut être en faisant qqchse du style (si j'ai compris la problématique) :

- une cellule A1 : la liste de validation pour choix
- une cellule B5, une cellule I8 (par exemple) : =A1

non ? ainsi tout choix fait en A1 se répercute dans les deux autres cellules... ou je n'ai pas compris la question ...
 
Re : Liste de validation sur plage de cellules

Merci pour cette réponse 🙂. En fait, la question a été mal comprise 😉: je souhaite que l'utilisateur puisse multi-sélectionner librement plusieurs cellules dans la feuille et leur affecter la même valeur, valeur qu'il choisira (idéalement) dans une liste déroulante de validation contenant uniquement les choix que je lui propose.
 
Re : Liste de validation sur plage de cellules

Chapeau bas, BoisGontier, c'est exactement ce que je veux faire ! Par contre, il y a un truc que je n'ai pas saisi 😱 dans le code VBA: à quoi fait référence [champ] ? Où est-ce défini ?
 
Re : Liste de validation sur plage de cellules

Ok, je ne connaissais pas 😱 et comprends mieux maintenant 😉.
Merci beaucoup JB !

Il ne me reste plus maintenant qu'à trouver comment faire fonctionner correctement et conjointement le code VBA suivant que j'avais récupéré par ailleurs pour une mise en forme automatique des cellules (sachant que j'ai environ une douzaine de valeurs dans ma liste de validation et autant de mise en forme des cellules 😉)
Code:
'---------------------------------------------------------------------------------------
' Auteur    : Didier FOURGEOT (myDearFriend!)
' Date      : 18/09/2005
' Sujet     : MFC multiples
'---------------------------------------------------------------------------------------
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim TabTemp As Variant
Dim L As Long
Dim V As Variant
    'Ne gère pas les sélections de plages
    If Target.Cells.Count > 1 Then Exit Sub
    'Vérifie la présence du format conditionnel "spécial"
    If Target.FormatConditions.Count < 1 Then Exit Sub
    If Target.FormatConditions(1).Formula1 = "=mDF" Then
        With Sheets("Colorisation")
            'Charge les préférences dans un tableau variant temporaire
            L = .Range("A65536").End(xlUp).Row
            TabTemp = .Range(.Cells(1, 1), .Cells(L, 1)).Value
            'Détermine le format à utiliser suivant la valeur de la cellule
            If Target.Value = "" Then
                L = 1
            Else
                For L = 2 To UBound(TabTemp, 1)
                    'Fonctionne en minuscule/majuscule pour les chaines de caractères
                    If UCase(Target.Value) = UCase(TabTemp(L, 1)) Then Exit For
                Next L
            End If
            'Gestion des erreurs (impératif, compte tenu de la désactivation des évènements)
            On Error GoTo Fin
            Application.EnableEvents = False
            'Applique le format (sauf les bordures)
            .Cells(L, 2).Copy
            V = Target.Formula
            Target.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
                    SkipBlanks:=False, Transpose:=False
            Target.Formula = V
            'Il semble que sur Mac et dans certaines situations (non ciblées) le format
            'conditionnel "spécial" d'origine ne soit pas écrasé par le nouveau, il convient
            'donc de s'en assurer avant de réimposer ce format spécial.
            If Target.FormatConditions.Count < 1 Then Target.FormatConditions.Add Type:=xlExpression, Formula1:="=mDF"
            Application.CutCopyMode = False
            Application.EnableEvents = True
        End With
    End If
    Exit Sub
Fin:
    'En cas d'erreur dans le code, il convient impérativement de rétablir la gestion des
    'évènements d'application pour la suite. Par une gestion d'erreur, on réaffecte la
    'valeur True à la propriété Application.EnableEvents et on informe l'utilisateur qu'une
    'erreur non gérée est survenue
    MsgBox "Erreur non gérée dans la procédure Workbook.SheetChange()" & vbLf & "Erreur : " & _
        Err & " " & Err.Description, vbOKOnly, "myDearFriend!"
    Application.EnableEvents = True
End Sub
 
Re : Liste de validation sur plage de cellules

Bonjour,

Voir PJ

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect([planning], Target) Is Nothing Then
   Application.EnableEvents = False
   Selection.Value = Target
   Application.EnableEvents = True
   On Error Resume Next
   Selection.Interior.ColorIndex = [couleurs].Find(Target, LookAt:=xlWhole).Interior.ColorIndex
  End If
End Sub

http://boisgontierjacques.free.fr/pages_site/donneesvalidation.htm#DvMult

JB
 

Pièces jointes

Dernière édition:
[Résolu] Liste de validation sur plage de cellules

🙂 Et bien que dire d'autre sinon un grand MERCI, et pour la PJ et pour le lien dont le contenu est très intéressant et va m'apprendre beaucoup de choses !
En tout cas, c'est pile-poil ça ! Et ce qui est amusant, c'est que l'exemple de la PJ se rapproche du classeur que j'ai fait 😉.

Encore merci pour votre aide et la réactivité de ce forum ! 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour