Bonjour à tous,
dans mon userform :
je souhaite remplir une combobox (liste) suivant la condition d'une autre combobox.
j'ai écrit ce code :
Sub RemplirComboBoxPersonnel()
Dim ws As Worksheet
Dim cmbSociete As ComboBox
Dim cmbPersonnel As ComboBox
Dim nomListe As String
' Réglage de la feuille de travail - ajustez "Feuil1" au nom de votre feuille
Set ws = ThisWorkbook.Sheets("Feuil1")
' Réglage des ComboBox - ajustez les noms aux noms de vos contrôles ActiveX
Set cmbSociete = ws.OLEObjects("ComboBoxSOCIETE").Object
Set cmbPersonnel = ws.OLEObjects("ComboBoxPersonnel").Object
' Vider le ComboBox Personnel avant de le remplir
cmbPersonnel.Clear
' Choisir la liste en fonction de la valeur de ComboBoxSOCIETE
Select Case cmbSociete.Value
Case "Meta industrie"
nomListe = "Méta_industrie_personnel"
Case "Meta laser"
nomListe = "Méta_laser_personnel"
Case "Fintech"
nomListe = "Fintech_personnel"
Case "Diace"
nomListe = "Diace_personnel"
Case "TL21"
nomListe = "TL21_personnel"
Case Else
nomListe = ""
End Select
' Remplir le ComboBox Personnel avec les valeurs de la liste choisie, si une liste a été sélectionnée
If nomListe <> "" Then
Dim rngListe As Range
Set rngListe = ws.Range(nomListe) ' Assurez-vous que ces plages sont bien définies dans votre feuille Excel
Dim cell As Range
For Each cell In rngListe
cmbPersonnel.AddItem cell.Value
Next cell
End If
End Sub
Private Sub ComboBoxSOCIETE_Change()
RemplirComboBoxPersonnel
End Sub
il me renvoie une erreur qui est :
la méthode 'OLEObejcts' de l'objet '_Worksheet' a échoué
ligne de beugue : Set cmbSociete = ws.OLEObjects("ComboBoxSOCIETE").Object
pouvez vous m'aidez svp ?
merci d'avance
dans mon userform :
je souhaite remplir une combobox (liste) suivant la condition d'une autre combobox.
j'ai écrit ce code :
Sub RemplirComboBoxPersonnel()
Dim ws As Worksheet
Dim cmbSociete As ComboBox
Dim cmbPersonnel As ComboBox
Dim nomListe As String
' Réglage de la feuille de travail - ajustez "Feuil1" au nom de votre feuille
Set ws = ThisWorkbook.Sheets("Feuil1")
' Réglage des ComboBox - ajustez les noms aux noms de vos contrôles ActiveX
Set cmbSociete = ws.OLEObjects("ComboBoxSOCIETE").Object
Set cmbPersonnel = ws.OLEObjects("ComboBoxPersonnel").Object
' Vider le ComboBox Personnel avant de le remplir
cmbPersonnel.Clear
' Choisir la liste en fonction de la valeur de ComboBoxSOCIETE
Select Case cmbSociete.Value
Case "Meta industrie"
nomListe = "Méta_industrie_personnel"
Case "Meta laser"
nomListe = "Méta_laser_personnel"
Case "Fintech"
nomListe = "Fintech_personnel"
Case "Diace"
nomListe = "Diace_personnel"
Case "TL21"
nomListe = "TL21_personnel"
Case Else
nomListe = ""
End Select
' Remplir le ComboBox Personnel avec les valeurs de la liste choisie, si une liste a été sélectionnée
If nomListe <> "" Then
Dim rngListe As Range
Set rngListe = ws.Range(nomListe) ' Assurez-vous que ces plages sont bien définies dans votre feuille Excel
Dim cell As Range
For Each cell In rngListe
cmbPersonnel.AddItem cell.Value
Next cell
End If
End Sub
Private Sub ComboBoxSOCIETE_Change()
RemplirComboBoxPersonnel
End Sub
il me renvoie une erreur qui est :
la méthode 'OLEObejcts' de l'objet '_Worksheet' a échoué
ligne de beugue : Set cmbSociete = ws.OLEObjects("ComboBoxSOCIETE").Object
pouvez vous m'aidez svp ?
merci d'avance