Afficher automatiquement valeur "nulle" d'une Liste de validation

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 !

Kayna.86

XLDnaute Nouveau
Bonjour à tous,

Une fois de plus, j'ai besoin de votre aide! Je vous expose mon problème:

J'ai créé plusieurs listes déroulantes sur une feuille de calcul excel (en passant par données, validation, liste).
J'ai ensuite ajouté un bouton "Initialiser" à cette feuille. Je souhaiterais qu'en cliquant sur ce bouton, toutes les cellules contenant des listes déroulantes n'affichent rien, soient vides.
J'ai donc pensé à une astuce : faire commencer toutes mes zones de listes par une cellule "vide".
J'aimerais donc qu'en cliquant sur le bouton "Initialiser", toutes les listes déroulantes affichent automatiquement la première valeur de la zone liste.

Je vous invite à consulter le fichier joint qui illustre concrètement ce que j'essaie de faire.

merci d'avance de votre aide! 🙂

Bonne journée
 

Pièces jointes

Re : Afficher automatiquement valeur "nulle" d'une Liste de validation

Bjr Kayna

Et pourquoi pas une macro qui fait une suppression de ce que contient la cellule C2 tout simplement ? sans avoir besoin de mettre une cellule vide du coup...

Cordialement, Gérard
 
Re : Afficher automatiquement valeur "nulle" d'une Liste de validation

Bonjour Gérard,

Je n'avais même pas essayé car j'avais peur que ça efface les propriétés de la cellules, et donc la liste déroulante elle-même.
Mais je viens de le faire, et ça fonctionne parfaitement. C'était tout bête.

Merci beaucoup pour cette remarque qui m'a aidé à résoudre ce petit problème!


Bonne journée!


Kayna.
 
Re : Afficher automatiquement valeur "nulle" d'une Liste de validation

Bonjour,

RAZ de toutes les listes

Code:
  For Each c In Cells.SpecialCells(xlCellTypeAllValidation)
    c.Value = Empty
  Next c

Premier élément de la liste

Code:
  For Each c In Cells.SpecialCells(xlCellTypeAllValidation)
    If Left(c.Validation.Formula1, 1) = "=" Then
      NomList = Mid(c.Validation.Formula1, 2)
      c.Value = Sheets("listes").Range(NomList)(1)
    Else
      temp = c.Validation.Formula1
      a = Split(temp, ";")
      c.Value = a(0)
    End If
  Next c

Positionne sur le premier élément de la liste

JB
 
Dernière édition:
- 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

Réponses
8
Affichages
725
Retour