ControlSource pour ComboBox

  • Initiateur de la discussion GOBRON
  • Date de début
G

GOBRON

Guest
Bonjour,

Je voudrais utiliser une variable pour désigner la cellule où écrire les données saisies dans une combobox, j'utilise donc la fonction controlsource cependant cette derniere n'accepte que les chaines de caractère du style "A62". Ce que j'aimerais mettre à la place serait plutot du style "activecell" ou nimporte quelle variable. Mais ca ne marche pas.... Que faire????

Merci
 
M

michel

Guest
bonsoir Gobron

tu trouveras ci dessous un lien , qui récapitule les différente methodes pour utiliser les combobox :
Rowsource
Additem
List

Lien supprimé


j'espere que cela pourra t'aider

Bonne soirée
Michel
 
@

@+Thierry

Guest
Bonsoir Michel et Gobron et le Forum

Gobron, c'est inutile de reposer un nouveau fil avec la même question que tu as posé il y a 4 jours Lien supprimé

J'ai l'impression que comme Mathieu dans ce fil Lien supprimé vous faites un peu de confusion avec ControlSource par rapport au but recherché... Mais bon, je vais te montrer comment écrire avec ControlSource, mais avant je te donne un extrait de l'aide VBA :

La propriété ControlSource identifie une cellule ou un champ et ne contient pas les données enregistrées dans la cellule ou le champ. Si vous modifiez la propriété Value du contrôle, la modification se répercute automatiquement dans la cellule ou le champ liés. De même, si vous changez la valeur de la cellule ou du champ liés, la modification se répercute automatiquement dans la propriété Value du contrôle

Pour résumer, cette propriété est en fait utile pour lier une cellule à une TextBox... C'est à dire que si tu changes la valeur dans la TextBox celle-ci est automatiquement reportée dans la Cellule liée.... ET VICE VERSA !

Donc maintenant si c'est ce que tu veux donc je te donne des exemples de codes :

Pour lier la cellule Active de la Feuille Active :

Private Sub UserForm_Initialize()
Dim CellAddress As String
CellAddress = ActiveCell.Address
ComboBox1.ControlSource = CellAddress
End Sub

Pour lier une Cellule Variable (La dernière remplie de la Colonne A) de la Feuille Active :

Private Sub UserForm_Initialize()
Dim CellAddress As String
CellAddress = Range("A65536").End(xlUp).Address
ComboBox1.ControlSource = CellAddress
End Sub

Idem que précédemment mais avec une Cellule d'une autre Feuille (même si elle n'est pas la Feuille Active)

Private Sub UserForm_Initialize()
Dim CellAddress As String
CellAddress = "Feuil1!" & Sheets("Feuil1").Range("A65536").End(xlUp).Address
ComboBox1.ControlSource = CellAddress
End Sub

Mais bon surtout pour une ComboBox je ne vois pas rééllement l'utilité...
Mais bon (bis) le client est Roi (d'autant plus si il dit bonjour)

Sinon Michel a très bien fait de te refiler le lien si-dessus qui contient les méthodes classiques pour alimenter des ComboBox ou des ListBox

Bonne Soirée
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
314 085
Messages
2 105 630
Membres
109 401
dernier inscrit
LE CLUB