Alimentation Combobox

Adriano43

XLDnaute Occasionnel
Bonjour à toutes et à tous,

Après avoir effectué des recherches dans les annales du forum, je n'ai pas trouvé réponse à mon problème qui doit pourtant pas être très compliqué mais je reste bloqué.
Comment alimenter un combobox uniquement avec les cellules visibles de la feuil1 par exemple. Pour info, les cellules visibles proviennent d'un filtre effectué à partir de la combobox1.

Merci par avance de votre aide

Cordialement

Adriano43
 

Pierrot93

XLDnaute Barbatruc
Re : Alimentation Combobox

Bonjour,

manque de détails tout ca... les combo... elles sont placées où ? sur une feuille un usf ? Sin essaye une boucle sur les cellules visibles avec
Code:
SpecialCells (xlCellTypeVisible)
et tu utilises la méthode "AddItem"...

bonne journée
@+
 

Pierrot93

XLDnaute Barbatruc
Re : Alimentation Combobox

Re,

exemple ci-dessous, à utiliser dans le module de l'usf, utilise la colonne A de la feuille active :
Code:
Dim c As Range
For Each c In Range("A1:A15").SpecialCells(xlCellTypeVisible)
    ComboBox1.AddItem c.Value
Next c
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Alimentation Combobox

Bonjour le fil, bonjour le forum,

Adriano tu as posté 4 fois pour ton problème et malgré la patience de Pierrot il n'est même pas sûr que ton problème soit complètement résolu... Tu as plus de 100 posts à ton actif et je pense que tu devrais maintenant savoir et comprendre qu'avec un fichier en pièce jointe on perd beaucoup moins de temps...
 

Adriano43

XLDnaute Occasionnel
Re : Alimentation Combobox

Re,

Cela fonctionne mais en revanche lors du choix d'une valeur dans la combobox 1, ce qui filtre les valeurs de la colonne 2 source de la combobox2 sur la feuille, j'ai toujours le choix entre toutes les valeurs de la colonne 2 et non pas les valeurs visibles
 

Adriano43

XLDnaute Occasionnel
Re : Alimentation Combobox

Bonjour Robert,

Je sais pertinnement qu'un fichier joint facilite la résolution du problème, c'est pourquoi je joins un exemple systématiquement. Mais dans ce cas présent, je ne suis pas mesure de pouvoir le faire, sinon je l'aurais fais, cela serait plus facile pour tout le monde, je le comprends bien
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Alimentation Combobox

Bonjour le fil, bonjour le forum,

Ce que tu sembles ne pas savoir en revanche, c'est qu'avec deux ou trois copier/coller il est très facile de recréer, à partir d'un classeur vierge, un fichier exemple correspondant à ton problème. Mais je te dis ça pour toi tu sais, personnellement quand je tombe sur des demandes de feignasses je ne répond plus...
 

Adriano43

XLDnaute Occasionnel
Re : Alimentation Combobox

Bonjour à tous,

L'alimentation des combobox est résolue de même que les valeurs en cascade. Néanmoins souhaitant apporter une nouvelle fonction au Usf, comment peut-on effectuer un filtrer sur une base pour obtenir une plage de valeurs comprise entre par exemple dans le cas présent intlongueur1 et intlongueur2 (cf.code suivant)

Code:
minlong = Sheets("BDD").Range("R1001").Value
          maxlong = Sheets("BDD").Range("R1002").Value
ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=4, Criteria1:=">minlong", _
        Operator:=xlAnd, Criteria2:="<maxlong"

Le problème est qu'avec le code ci dessus, la valeur prise en compte par Excel pour filtrer est "minlong" et "maxlong" et non pas la valeur de ces dernières.
Et si j'enlève les guillemets, le code ne s'éxécute pas compte tenu des signes < et > alorq que cela fonctionne pour une recherche exacte (cf.code suivant)

Code:
intlongueur = Sheets("BDD").Range("R1000").Value
ActiveSheet.Range("Tableau1").AutoFilter Field:=4, Criteria1:=intlongueur, _
        Operator:=xlAnd

Autrement dit, comment faire prendre en compte les valeurs de cellule dans le cadre d'une recherche de plage de valeurs?

Merci par avance à ceux qui se accepteront de m'aider.

Cordialement

Adriano43
 

Pierrot93

XLDnaute Barbatruc
Re : Alimentation Combobox

Bonjour,

essaye comme ceci :
Code:
minlong = Sheets("BDD").Range("R1001").Value
          maxlong = Sheets("BDD").Range("R1002").Value
ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=4, Criteria1:=">" & minlong, _
        Operator:=xlAnd, Criteria2:="<" & maxlong

A noter, il eût été préférable d'ouvrir une nouvelle discussion, la question n'ayant pas de rapport avec le sujet initial...

bonne journée
@+
 

Discussions similaires

Réponses
69
Affichages
4 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 461
dernier inscrit
dams94