Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
bonjour,
je ne vois pas d'erreur flagrante dans ton code .peut-être un problèle d'orthographe sur la désignation de la feuille données Dans l'absence d'éléments plus précis, je peux te proposer ci-dessous, des explications sur les possibilités de déclarer une source de combobox avec un rowsource.
'exemple1 :remplir un combobox avec une source de cellules 'sur une feuille 'Le grand avantage de Rowsource tient au fait que si le UF est non modal ou que l'on 'fait de la programmation qui change les valeurs contenues dans Rowsource, alors 'le combobox voit ses valeurs dynamiquement affectées par le changement.
'possible de passer par une variable texte tampon = "Articles" 'Me.ComboBox1.RowSource = tampon & "!C3:C10" 'possible aussi de faire référence à une autre feuille 'Me.ComboBox1.RowSource = [TOTO!A1:A5].Address '(feuille TOTO) 'Me.ComboBox1.RowSource =range("A1:A10").address ou range("tata").address (à condtition que tata soit une 'plage nommée appartenant à la feuille en cours,autrement il faudra désigner la feuille
'Me.ComboBox1.RowSource = Evaluate("A1:" & "A" & nombre).Address (si on est sur la feuille source) 'Me.ComboBox1.RowSource = tampon & "!" & Evaluate("A1:" & "A" & nombre).Address (si on est sur une feuille différente de la feuille source)
'possible d'élargir la référence à une plage nommée 'si on est dans le même fichier, il faut nommer la feuille où se situe la plage nommée. 'Autrement, il faut nommer le fichier. 'ici la 1ere déclaration fait référence à une plage nommée articles dans un fichier dénommé 'application. La 2eme déclaration fait référence à une plage nommée commercial dans la feuille 'fichierlistes du fichier auquel appartient cbocom. 'Cbodesign.RowSource = "application.xls!articles" 'Cbocom.RowSource = "fichierlistes!commercial"
'on peut aussi pour se référer à une plage nommée écrire si la feuille s'appelle TOTO et 'la plage nommée tata, faire l'une des 2 déclaration suivantes. 'On peut même avoir une plage dépssant le nombre de colonnes déclarées dans la propriété columncount 'du combobox. Seuls le nombre de colonnes affichées dans columcount seront alors visibles. 'Par ailleurs écrire Address(0,0) ou AddressLocal(RowAbsolute:úlse, columnabsolute:úlse) est équivalent 'Me.ComboBox1.RowSource = ThisWorkbook.Sheets("TOTO").Range("tata").AddressLocal(RowAbsolute:úlse, columnabsolute:úlse) 'Me.ComboBox1.RowSource = ThisWorkbook.Sheets("TOTO").Range("tata").Address 'possible de combiner la méthode de déclaration d'une feuille avec un nom nommé.Attention la propriété 'ReferstoRange renvoie une plage de cellules sans désignation de la feuille qui l'abrite, donc il faut 'utiliser la propriété Parent de cet objet pour récupérer le nom de la feuille 'With ThisWorkbook.Names("tata").RefersToRange 'Me.ComboBox1.RowSource = .Parent.Name & "!" & .Address(0, 0) 'End With
Je veux utiliser un ComboBox avec la liste des éléments en A1 mais cela ne fonctionne pas ?
Où est mon erreur ?
Private Sub CboNuméroPièce_Change() CboNuméroPièce.RowSource = "données!a1" End Sub
La feuille Données est cachée lors de l'ouverture du fichier.
Merci de votre aide.
bonjour,
je ne vois pas d'erreur flagrante dans ton code .peut-être un problèle
d'orthographe sur la désignation de la feuille données
Dans l'absence d'éléments plus précis, je peux te proposer ci-dessous, des
explications sur les possibilités de déclarer une source de combobox avec un
rowsource.
'exemple1 :remplir un combobox avec une source de cellules
'sur une feuille
'Le grand avantage de Rowsource tient au fait que si le UF est non modal ou
que l'on
'fait de la programmation qui change les valeurs contenues dans Rowsource,
alors
'le combobox voit ses valeurs dynamiquement affectées par le changement.
'possible de passer par une variable texte tampon = "Articles"
'Me.ComboBox1.RowSource = tampon & "!C3:C10"
'possible aussi de faire référence à une autre feuille
'Me.ComboBox1.RowSource = [TOTO!A1:A5].Address '(feuille TOTO)
'Me.ComboBox1.RowSource =range("A1:A10").address ou range("tata").address (à
condtition que tata soit une
'plage nommée appartenant à la feuille en cours,autrement il faudra désigner
la feuille
'Me.ComboBox1.RowSource = Evaluate("A1:" & "A" & nombre).Address (si on est
sur la feuille source)
'Me.ComboBox1.RowSource = tampon & "!" & Evaluate("A1:" & "A" &
nombre).Address (si on est sur une feuille différente de la feuille source)
'possible d'élargir la référence à une plage nommée
'si on est dans le même fichier, il faut nommer la feuille où se situe la
plage nommée.
'Autrement, il faut nommer le fichier.
'ici la 1ere déclaration fait référence à une plage nommée articles dans un
fichier dénommé
'application. La 2eme déclaration fait référence à une plage nommée
commercial dans la feuille
'fichierlistes du fichier auquel appartient cbocom.
'Cbodesign.RowSource = "application.xls!articles"
'Cbocom.RowSource = "fichierlistes!commercial"
'on peut aussi pour se référer à une plage nommée écrire si la feuille
s'appelle TOTO et
'la plage nommée tata, faire l'une des 2 déclaration suivantes.
'On peut même avoir une plage dépssant le nombre de colonnes déclarées dans
la propriété columncount
'du combobox. Seuls le nombre de colonnes affichées dans columcount seront
alors visibles.
'Par ailleurs écrire Address(0,0) ou AddressLocal(RowAbsolute:úlse,
columnabsolute:úlse) est équivalent
'Me.ComboBox1.RowSource =
ThisWorkbook.Sheets("TOTO").Range("tata").AddressLocal(RowAbsolute:úlse,
columnabsolute:úlse)
'Me.ComboBox1.RowSource = ThisWorkbook.Sheets("TOTO").Range("tata").Address
'possible de combiner la méthode de déclaration d'une feuille avec un nom
nommé.Attention la propriété
'ReferstoRange renvoie une plage de cellules sans désignation de la feuille
qui l'abrite, donc il faut
'utiliser la propriété Parent de cet objet pour récupérer le nom de la feuille
'With ThisWorkbook.Names("tata").RefersToRange
'Me.ComboBox1.RowSource = .Parent.Name & "!" & .Address(0, 0)
'End With
je ne vois pas d'erreur flagrante dans ton code .peut-être un problèle d'orthographe sur la désignation de la feuille données Dans l'absence d'éléments plus précis, je peux te proposer ci-dessous, des explications sur les possibilités de déclarer une source de combobox avec un rowsource.
'exemple1 :remplir un combobox avec une source de cellules 'sur une feuille 'Le grand avantage de Rowsource tient au fait que si le UF est non modal ou que l'on 'fait de la programmation qui change les valeurs contenues dans Rowsource, alors 'le combobox voit ses valeurs dynamiquement affectées par le changement.
'possible de passer par une variable texte tampon = "Articles" 'Me.ComboBox1.RowSource = tampon & "!C3:C10" 'possible aussi de faire référence à une autre feuille 'Me.ComboBox1.RowSource = [TOTO!A1:A5].Address '(feuille TOTO) 'Me.ComboBox1.RowSource =range("A1:A10").address ou range("tata").address (à condtition que tata soit une 'plage nommée appartenant à la feuille en cours,autrement il faudra désigner la feuille
'Me.ComboBox1.RowSource = Evaluate("A1:" & "A" & nombre).Address (si on est sur la feuille source) 'Me.ComboBox1.RowSource = tampon & "!" & Evaluate("A1:" & "A" & nombre).Address (si on est sur une feuille différente de la feuille source)
'possible d'élargir la référence à une plage nommée 'si on est dans le même fichier, il faut nommer la feuille où se situe la plage nommée. 'Autrement, il faut nommer le fichier. 'ici la 1ere déclaration fait référence à une plage nommée articles dans un fichier dénommé 'application. La 2eme déclaration fait référence à une plage nommée commercial dans la feuille 'fichierlistes du fichier auquel appartient cbocom. 'Cbodesign.RowSource = "application.xls!articles" 'Cbocom.RowSource = "fichierlistes!commercial"
'on peut aussi pour se référer à une plage nommée écrire si la feuille s'appelle TOTO et 'la plage nommée tata, faire l'une des 2 déclaration suivantes. 'On peut même avoir une plage dépssant le nombre de colonnes déclarées dans la propriété columncount 'du combobox. Seuls le nombre de colonnes affichées dans columcount seront alors visibles. 'Par ailleurs écrire Address(0,0) ou AddressLocal(RowAbsolute:úlse, columnabsolute:úlse) est équivalent 'Me.ComboBox1.RowSource = ThisWorkbook.Sheets("TOTO").Range("tata").AddressLocal(RowAbsolute:úlse, columnabsolute:úlse) 'Me.ComboBox1.RowSource = ThisWorkbook.Sheets("TOTO").Range("tata").Address 'possible de combiner la méthode de déclaration d'une feuille avec un nom nommé.Attention la propriété 'ReferstoRange renvoie une plage de cellules sans désignation de la feuille qui l'abrite, donc il faut 'utiliser la propriété Parent de cet objet pour récupérer le nom de la feuille 'With ThisWorkbook.Names("tata").RefersToRange 'Me.ComboBox1.RowSource = .Parent.Name & "!" & .Address(0, 0) 'End With