Combobox et Row source

Bonjour Le forum

Expliquez moi svp pourquoi cette formule ne marche pas si je me positionne

sur une autre feuille que la feuille 1. Sur une autre feuille ma combo reste vide

Merci par avance

Et pourtant j'ai précisé with Sheets ("Feuil1")

With Worksheets("Feuil1")

RgcelDebut = "A2"

Me.ComboBox4.ColumnCount = Range(RgcelDebut).currentRegion.Columns.Count

MaPlage = Range(RgcelDebut & ":" & Cells(Range(RgcelDebut).currentRegion.Rows.Count, Range(RgcelDebut).currentRegion.Columns.Count).Address).Address

Me.ComboBox4.RowSource = MaPlage

End With

Bonjour BAKh

Pour faire référence a with tafeuille, tu dois mettre des points devant tes ranges et cells

Bonjour BOB71AU

Je viens de corriger les points

mais ma combo reste désespérément vierge

Re

BOB71AU

regardes le fichier joint

je voudrais alimenter la combo à partir de n'importe quelle feuille

sans avoir à activer la feuille 1 mais en faisant seulement référence à la feuille 1

Merci

148cr1.xlsm (20.20 Ko)

Lignes à remplacer et ajouter :

 Me.ComboBox4.ColumnCount = .Range(RgcelDebut).CurrentRegion.Columns.Count
 MaPlage = .Range(RgcelDebut & ":" & Cells(.Range(RgcelDebut).CurrentRegion.Rows.Count, .Range(RgcelDebut).CurrentRegion.Columns.Count).Address).Address

    MaPlage = "feuil1!" & MaPlage

Bien noter, comme cela a été conseillé par Bob, les points devant l'instruction Range (qui renvoient au With).


Euh la dernière ligne n'est pas utile ( MaPlage = "feuil1!" & MaPlage)..

Re

Bonjour Dan42153

Merci d'enrichir le post.

Mais avec ton code je n'arrive plus à alimenter la combo

ni à partir de Feuil1 ni à partir de Feuil2

Peux tu stp reprendre le fichier joint et le coder pour voir

Merci

89cr1.xlsm (20.77 Ko)

Avec ce code et les valeurs de départ sur Feuil2, ça fonctionne plutôt bien :

Private Sub UserForm_Initialize()
Dim RgcelDebut As String
Dim MaPlage As Variant

With Worksheets("Feuil2")

    RgcelDebut = "A2"
    Me.ComboBox4.ColumnCount = .Range(RgcelDebut).CurrentRegion.Columns.Count
    MaPlage = .Range(RgcelDebut & ":" & Cells(.Range(RgcelDebut).CurrentRegion.Rows.Count, .Range(RgcelDebut).CurrentRegion.Columns.Count).Address).Address
    MaPlage = "Feuil2!" & MaPlage
    Me.ComboBox4.RowSource = MaPlage
End With

End Sub

Bonjour,

Une manière parmi tant d'autres d'alimenter un ComboBox...

Avec celle-ci, on ne remplit que si la cellule contient une valeur, et de manière unique...

Bon courage

Private Sub UserForm_Initialize()
Dim Cel As Range, Plg As Range
Dim LaList As Object
Set LaList = CreateObject("Scripting.Dictionary")
With Worksheets("Feuil2")
    Set Plg = .Range("A2", .Cells(Rows.Count, "A").End(xlUp))
    For Each Cel In Plg
        If Cel <> "" Then LaList(Cel.Value) = Cel.Value
    Next Cel
    Me.ComboBox4.List = Application.Transpose(LaList.Items)
End With
End Sub

Bonjour à tous

Un autre code :

'Attention les deux lignes suivantes doivent être impérativement placées en tout début de programme
Option Explicit
Dim Ws As Worksheet  'Variable pour un Objet Worksheet en PUBLIC pour tous les Controls de cet UserForm
Private Sub UserForm_Initialize()
Dim J As Long 'déclare la variable J

Set Ws = Sheets("Feuil2") 'Attention ce nom doit correspondre au nom de votre ONGLET
'On stock le nom de la feuille "Feuil2" dans une variable nommée WS

With Me.ComboBox4
    For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
      .AddItem Ws.Range("A" & J)
    Next J
End With

End Sub

Re

Dan 42153, cousinhub, Et1000lio

Merci à vous tous pour vous être penché sur mon post

Le code de Dan 42153 répond le mieux puisqu'il alimente la combo

avec les éléments de toutes les colonnes.

Ceux de cousinhub et Et1000lio alimentent la combo avec la seule colonne A

C'est vrai que je n'avais pas précisé cette donne.

Je suis sûr que vous le feriez sans pb

BAKH a écrit :

Le code de Dan 42153 répond le mieux puisqu'il alimente la combo

avec les éléments de toutes les colonnes.

Ceux de cousinhub et Et1000lio alimentent la combo avec la seule colonne A

Si tu le dis....

S'il y a une différence (au moins...) dans nos codes, ce n'est sûrement pas celle-là...

Bonne continuation

Re

cousinhub

Je n'ai pas voulu clore le post puisque justement je pense

que vos codes sont aussi bon que le premier mais il y a une donne

que je n'avais pas précisée.

En effet je voudrais alimenter la combo avec les colonnes A et B

Pouvez vous svp revoir le fichier

Merci avec beaucoup de Respect

Bonjour BAKH, Bonjour à tous

BAKH à écrit :

En effet je voudrais alimenter la combo avec les colonnes A et B

Si tu souhaites effectuer tes recherches via la colonne A puis ensuite la colonne B, c'est-à-dire une recherche en cascade avec deux combobox, consultes mon blog à cette page qui traite ce sujet.

https://cellulexcel.blogspot.fr/p/blog-page_23.html


@Dan 42153

Merci Dan je ne connaissais pas cette approche, je vais développer celle-ci sur mon blog car je la trouve pertinente car l'on a une vue sur la ligne à choisir.

Ci-joint le fichier modifié pour alimenter les textbox.

Bonjour

Et1000lio

J'ai pris bonne note de votre blog et je passerai

a coup sûr par là.

Merci de votre aide précieuse

A+

Rechercher des sujets similaires à "combobox row source"