Combobox qu'avec les cellules pleines
Usgpa
-
Usgpa -
Usgpa -
Bonjour,
Une petite question : je sais alimenter une combobox avec une colonne excel mais je ne sais pas comment limiter cela aux seules cellules pleines. Comment la faire s'arrêter à la dernière ligne remplie... je ne suis pas un pro du Vba et j'ai tenté pas mal de choses sans succès. Pour vous donner une idée des dégats, voilà ma dernière tentative :
Private Sub Userform_Activate()
I = 1
While Feuil1.Range("D" & I) <> ""
I = I
UserForm3.ComboBox1.RowSource = "Feuil1!D:D & I"
Wend
End Sub
Merci d'avance
Une petite question : je sais alimenter une combobox avec une colonne excel mais je ne sais pas comment limiter cela aux seules cellules pleines. Comment la faire s'arrêter à la dernière ligne remplie... je ne suis pas un pro du Vba et j'ai tenté pas mal de choses sans succès. Pour vous donner une idée des dégats, voilà ma dernière tentative :
Private Sub Userform_Activate()
I = 1
While Feuil1.Range("D" & I) <> ""
I = I
UserForm3.ComboBox1.RowSource = "Feuil1!D:D & I"
Wend
End Sub
Merci d'avance
A voir également:
- Combobox qu'avec les cellules pleines
- Excel additionner plusieurs cellules - Guide
- Verrouiller cellules excel - Guide
- Fusionner deux cellules excel - Guide
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350 - Forum Excel
- Afficher les cellules masquées excel ✓ - Forum Excel
6 réponses
Il y a plus simple.
Dans la colonne propriétés de VBA quand tu est sur ta Combobox tu as une ligne row source!
Tappes Feuil1!D1:D4
pour les données de d1 a d4
Dans la colonne propriétés de VBA quand tu est sur ta Combobox tu as une ligne row source!
Tappes Feuil1!D1:D4
pour les données de d1 a d4
Le problème c'est que la liste va fluctuer dans le temps. Je voulais donc savoir si il y avait un moyen de mettre un truc du genre Feuil1!D1:DI.
Salut,
Personnellement, je fais comme cela :
Personnellement, je fais comme cela :
Private Sub Userform_Activate()
Dim I As Integer, lig As Integer
With Sheets(1)
lig = .Range("D65536").End(xlUp).Row
For I = 1 to lig
UserForm3.ComboBox1.AddItem .Cells(I, 4)
Next
End With
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci de votre aide ! Pijaku ta solution provoque une erreur d'execution "70", la ligne
UserForm3.ComboBox1.AddItem .Cells(I, 4)
est surligné en jaune.
UserForm3.ComboBox1.AddItem .Cells(I, 4)
est surligné en jaune.
en mettant ton fichier sur cijoint peut-être que quelqu'un trouvera où ton fichier coince?
http://www.cijoint.fr/
http://www.cijoint.fr/
Si cela peu te donner des idées, j'ai fait un truc comme ça. Ne pas oubluer la réjeneration a chaque entée dans le tableau
'Ordre_Val.Caption : N° Enregistrement des données => orgine Un Label
'FeuilPiece : Nom feuille
'TableauR : Nom de cellules
'Modification de la longueur du tableaux des valeurs calculé Adresse type : "=Piéce!R1C1:R20C15"
ActiveWorkbook.Names("TableauR").RefersTo = "=" & FeuilPiece & "!R7C1:R" & 6 + Ordre_Val.Caption & "C15"
6 = Ligen e
'Ordre_Val.Caption : N° Enregistrement des données => orgine Un Label
'FeuilPiece : Nom feuille
'TableauR : Nom de cellules
'Modification de la longueur du tableaux des valeurs calculé Adresse type : "=Piéce!R1C1:R20C15"
ActiveWorkbook.Names("TableauR").RefersTo = "=" & FeuilPiece & "!R7C1:R" & 6 + Ordre_Val.Caption & "C15"
6 = Ligen e