Renseigner un combobox
Résolu
michgoarin
Messages postés
11
Statut
Membre
-
michgoarin Messages postés 11 Statut Membre -
michgoarin Messages postés 11 Statut Membre -
Bonjour à tous,
Je programme depuis très longtemps en VBA. Mais là je sèche !!!
A l'initialisation d'un userform (modification article), je renseigne tous les champs de ce dernier en prenant l'information dans une feuille de mon fichier excel. Le problème se pose lorsque la valeur dans une cellule est vide et que je dois initialiser un combobox. J'ai une erreur dès l'amorçage du userform.
Si vous avez une solution, je suis preneur !!!
Merci d'avance.
--
Je programme depuis très longtemps en VBA. Mais là je sèche !!!
A l'initialisation d'un userform (modification article), je renseigne tous les champs de ce dernier en prenant l'information dans une feuille de mon fichier excel. Le problème se pose lorsque la valeur dans une cellule est vide et que je dois initialiser un combobox. J'ai une erreur dès l'amorçage du userform.
Si vous avez une solution, je suis preneur !!!
Merci d'avance.
--
A voir également:
- Renseigner un combobox
- Vba combobox selected item ✓ - Forum VB / VBA
- Remplir combobox vba ✓ - Forum Excel
- Combobox vba liste déroulante dynamique ✓ - Forum Excel
- Additem combobox vba ✓ - Forum VB / VBA
- Renseigner un formulaire ✓ - Forum Programmation
2 réponses
Bonjour,
Il nous manque des informations pour te répondre. Une combobox est une liste. Comment remplis tu cette liste? Avec RowSource, AddItem, List?
Peux tu également nous donner le code de ta UserForm_initialize()?
Il nous manque des informations pour te répondre. Une combobox est une liste. Comment remplis tu cette liste? Avec RowSource, AddItem, List?
Peux tu également nous donner le code de ta UserForm_initialize()?
Pour répondre à ta question Franck, voici le code pour initialiser le userform :
Private Sub UserForm_Initialize()
Dim j As Variant
Dim LIGNE As Integer
'Identification de la feuille concernée
LIGNE = Sheets("SOURCE_VBA").Range("L60000").End(xlUp).Row 'Positionnement de la dernière cellule à récupérer
For i = 2 To LIGNE 'Démarre à la ligne 2 jusqu'à la ligne définit dans la variable Ligne
With Me.ComboSERVICE
.AddItem Sheets("SOURCE_VBA").Range("L" & i)
End With
Next i
'Identification de la feuille concernée
LIGNE = Sheets("SOURCE_VBA").Range("K60000").End(xlUp).Row 'Positionnement de la dernière cellule à récupérer
For i = 2 To LIGNE 'Démarre à la ligne 2 jusqu'à la ligne définit dans la variable Ligne
With Me.ComboPole
.AddItem Sheets("SOURCE_VBA").Range("K" & i)
End With
Next i
'Identification de la feuille concernée
LIGNE = Sheets("SOURCE_VBA").Range("J60000").End(xlUp).Row 'Positionnement de la dernière cellule à récupérer
For i = 2 To LIGNE 'Démarre à la ligne 2 jusqu'à la ligne définit dans la variable Ligne
With Me.ComboDirection
.AddItem Sheets("SOURCE_VBA").Range("J" & i)
End With
Next i
'Identification de la feuille concernée
LIGNE = Sheets("SOURCE_VBA").Range("P60000").End(xlUp).Row 'Positionnement de la dernière cellule à récupérer
For i = 2 To LIGNE 'Démarre à la ligne 2 jusqu'à la ligne définit dans la variable Ligne
With Me.ComboCG
.AddItem Sheets("SOURCE_VBA").Range("P" & i)
End With
Next i
'Identification de la feuille concernée
LIGNE = Sheets("SOURCE_VBA").Range("Q60000").End(xlUp).Row 'Positionnement de la dernière cellule à récupérer
For i = 2 To LIGNE 'Démarre à la ligne 2 jusqu'à la ligne définit dans la variable Ligne
With Me.ComboLogo
.AddItem Sheets("SOURCE_VBA").Range("Q" & i)
End With
Next i
'Identification de la feuille concernée
LIGNE = Sheets("SOURCE_VBA").Range("R60000").End(xlUp).Row 'Positionnement de la dernière cellule à récupérer
For i = 2 To LIGNE 'Démarre à la ligne 2 jusqu'à la ligne définit dans la variable Ligne
With Me.ComboDomicile
.AddItem Sheets("SOURCE_VBA").Range("R" & i)
End With
Next i
'Identification de la feuille concernée
LIGNE = Sheets("SOURCE_VBA").Range("M60000").End(xlUp).Row 'Positionnement de la dernière cellule à récupérer
For i = 2 To LIGNE 'Démarre à la ligne 2 jusqu'à la ligne définit dans la variable Ligne
With Me.ComboType
.AddItem Sheets("SOURCE_VBA").Range("M" & i)
End With
Next i
'Identification de la feuille concernée
LIGNE = Sheets("SOURCE_VBA").Range("S60000").End(xlUp).Row 'Positionnement de la dernière cellule à récupérer
For i = 2 To LIGNE 'Démarre à la ligne 2 jusqu'à la ligne définit dans la variable Ligne
With Me.ComboControle
.AddItem Sheets("SOURCE_VBA").Range("S" & i)
End With
Next i
' On définit la valeur de j
j = Sheets("SOURCE_VBA").Range("A2")
'On affecte la cellule "A2" à la variable Cel
Set Cel = Sheets("Source").Range("A" & j)
'Gsetion de l'initialisation des TextBox
TextCodeVeicule = Cel.Offset(0, 0)
Textchauffeur = Cel.Offset(0, 5)
TextImmat = Cel.Offset(0, 7)
TextModele = Cel.Offset(0, 10)
TextPremiere = Cel.Offset(0, 11)
TextGarantie = Cel.Offset(0, 12)
TextKilometrage = Cel.Offset(0, 14)
TextObservations = Cel.Offset(0, 16)
TextInterlocuteur = Cel.Offset(0, 17)
'Gestion de l'initialisation des ComboBox
If IsEmpty(Cel.Offset(0, 1)) Or Cel.Offset(0, 1) = "" Then ComboType = "" Else ComboType = Cel.Offset(0, 1)
If IsEmpty(Cel.Offset(0, 2)) Or Cel.Offset(0, 2) = "" Then ComboPole = "" Else ComboPole = Cel.Offset(0, 2)
If IsEmpty(Cel.Offset(0, 3)) Or Cel.Offset(0, 3) = "" Then ComboDirection = "" Else ComboDirection = Cel.Offset(0, 3)
If IsEmpty(Cel.Offset(0, 4)) Or Cel.Offset(0, 4) = "" Then ComboSERVICE = "" Else ComboSERVICE = Cel.Offset(0, 4)
If IsEmpty(Cel.Offset(0, 6)) Or Cel.Offset(0, 6) = "" Then ComboDomicile = "" Else ComboDomicile = Cel.Offset(0, 6)
If IsEmpty(Cel.Offset(0, 8)) Or Cel.Offset(0, 8) = "" Then ComboCG = "" Else ComboCG = Cel.Offset(0, 8)
If IsEmpty(Cel.Offset(0, 9)) Or Cel.Offset(0, 9) = "" Then ComboLogo = "" Else ComboLogo = Cel.Offset(0, 9)
If IsEmpty(Cel.Offset(0, 30)) Or Cel.Offset(0, 30) = "" Then ComboControle = "" Else ComboControle = Cel.Offset(0, 30)
End Sub