Supprimer les vides d'une liste déroulante

IenchGaleu

XLDnaute Nouveau
Bonjour à tous!

Voila, après pas mal de temps à cherché sur le net, je viens vous posez une petite question.
J'ai un tableau Excel avec 2 feuilles, "Rechercher" / "Catégorie"
Dans la feuille "Recherche"r j'ai une liste déroulante qui prend la plage "=Catégorie!$A$1:$A$100", cependant dans la feuille "Catégorie" je n'ai que 4 info pour le moment.
Ma question est donc, comment faire pour que la liste n'affiche pas 100 ligne dont 96 vide mais seulement celles qui contiennent effectivement quelque chose.
Vous trouverez en pièce jointe mon classeur Excel.

Merci d'avance pour votre aide!

PS: ne tenez pas compte de la feuille "Ajouter".
PSS: je préciserai que je ne fais du VBA que depuis 4 semaines, soyez indulgents! :)
 

Pièces jointes

  • Repertoire.xlsm
    61.6 KB · Affichages: 47
  • Repertoire.xlsm
    61.6 KB · Affichages: 53
  • Repertoire.xlsm
    61.6 KB · Affichages: 52

camarchepas

XLDnaute Barbatruc
Re : Supprimer les vides d'une liste déroulante

Bonjour,

Comme tu débutes , bienvenue dans ce monde magique du VBA.

Une bonne habitude à prendre est de mettre l'option Explicit en haut des modules.

Cela oblige à déclarer les variables et éviter ainsi des confusions suite à des orthographes différentes :

Ex Bleu et Bleue ne désigne pas la même variable . su tu ne les déclare pas rien ne te dira que tu n'utilise pas la bonne , sauf les résultats éronnés.

Pour revenir à ton sujet, comme ceci peut être, à l'endroit ou tu désires adapter.

Tu peux bien sur faire une recherche de fin de ligne puis la paramètrer au lieu de $A$11 sur cet exemple


Code:
Option Explicit
Sub test()
Range("G13").Validation.Delete
Range("G13").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertInformation, _
         Operator:=xlBetween, Formula1:="=Catégorie!$A$1:$A$11"
End Sub
 

Discussions similaires

Réponses
2
Affichages
270

Statistiques des forums

Discussions
312 169
Messages
2 085 915
Membres
103 037
dernier inscrit
Alves AGBO