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

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

  • Remise à zéro LD_exel.xls
    48.5 KB · Affichages: 52

natorp

XLDnaute Accro
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
 

Kayna.86

XLDnaute Nouveau
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.
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
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:

Discussions similaires

Réponses
8
Affichages
289

Statistiques des forums

Discussions
312 584
Messages
2 089 995
Membres
104 331
dernier inscrit
xdream