XL 2013 Envoie d'une valeur issue d'une combobox vers une liste

  • Initiateur de la discussion Initiateur de la discussion dilack
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dilack

XLDnaute Occasionnel
Bonjour à tous,

J'ai un code qui devrait envoyer une valeur issue d'une combobox vers une liste qui est sur une feuille "DATA".
J'ai beau chercher je n'arrive pas à retomber sur mes pattes.
J'ai systématiquement une erreur:

"Erreur d'exécution 1004" - "Erreur définie par l'application ou par l'objet"

nota: le "Then" est bien placé dans le code il n'y a pas de retour chariot

Je vous laisse le code et la feuille de calcul

Merci d'avance pour vos réponses

Code:
Private Sub cbxDomaine_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'Ajout données dans la liste Domaine
  If IsError(Application.Match(Me.cbxDomaine, Worksheets("DATA").Range("DOMAINE"), 0)) And Me.cbxDomaine <> "" Then
     Worksheets("DATA").Range("DOMAINE").End(xlDown).Offset(1, 0) = Me.cbxDomaine
     Worksheets("DATA").Range("DOMAINE").Sort key1:=Range("DOMAINE")(1)
    End If
End Sub
 

Pièces jointes

Re : Envoie d'une valeur issue d'une combobox vers une liste

Bonjour dilack.

Une proposition possible :

Code:
Private Sub cbxDomaine_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'Ajout données dans la liste Domaine
    If cbxDomaine.Text <> "" Then
        If Not dDom.exists(cbxDomaine.Text) Then
            With Sheets("Data")
            .Cells(.[a65000].End(xlUp).Row + 1, 1).Value = cbxDomaine.Text
            End With
        End If
    End If
End Sub

Pour que ça fonctionne, déclare dDom avant toutes les procédures de ton userform et ajoute le code suivant dans l'initialisation de ton UF.

Code:
 tempA = Application.Transpose(f.Range("A2:A" & f.[a65000].End(xlUp).Row))
  '-----------
  Set dDom = CreateObject("scripting.dictionary") 'création d'un dictionnaire pour enregistrer les valeurs
  For i = LBound(tempA) To UBound(tempA): dDom(tempA(i)) = "": Next i
  '-----------
  Call tri(tempA, LBound(tempA), UBound(tempA))
 
Re : Envoie d'une valeur issue d'une combobox vers une liste

Merci avec ton fichier cela fonctionne.
Je comprends pas j'ai exactement le même code que toi sur "Private Sub UserForm_Initialize()" et cela ne fonctionne pas sur mon fichier.
ça proviens sans de ta modif sur la validation faut que je regarde ça.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
201
  • Question Question
Microsoft 365 Combobox
Réponses
6
Affichages
158
Réponses
3
Affichages
193
Réponses
5
Affichages
182
Retour