Interopérabilité comboBox / feuille excel…

  • Initiateur de la discussion Initiateur de la discussion albert
  • 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 !

A

albert

Guest
Bonjour à tous,

Sur un UserForm, je pose une zone de liste modifiable.
Dans les propriétés ComboBox1, en face de RowSource, j’inscris A1 :A3 …
La liste déroulante reproduit les chiffres des 3 cellules correspondantes.

- Dans la fenêtre du Combobox1, j’inscris un autre chiffre et j’exécute la macro… le nouveau chiffre n’apparaît pas dans la feuille de calcul..

- J’écris un code :
Private Sub ComboBox1_Change()
Range("A1").End(xlDown).Select
End Sub

Râté !!!

Voilà plusieurs jours que je torture Userform dans tous les sens… rien n’y fait : impossible d’écrire dans le combo un chiffre pour le retrouver à la suite de la liste située sur la feuille excel…


Existe-t-il une astuce pour ajouter un chiffre à la suite ???

(d'avance merci)

albert
 
Il y a surement plus simple, mais ça fonctionne.

il faut tout d'abord déterminer la source de données du combobox1, variable, puisque tu peux ajouter des données

Private Sub UserForm_Initialize()
ComboBox1.RowSource = Range("a1", Range("a1").End(xlDown)).Address

End Sub
___________________________________________________

Lorsque l'on clique sur le bouton1, on effectue une recherche dans la feuille pour voir si ton entrée existe déjà.
Si elle n'existe pas ("is nothing") alors se placer à la dernière ligne vide et ajouter la valeur du combobox1.
Enfin, on réactualise ton combobox avec la nouvelle entrée ("call userform_initialize").


Private Sub CommandButton1_Click()

If Cells.Find(What:=ComboBox1.Value, _
After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False) Is Nothing Then Range("a1").End(xlDown).Offset(1, 0).Value = _
ComboBox1.Value

Call UserForm_Initialize

end sub


Bonne journée
 
merci eric de proposer un code plus simple
mais je n'ai pas de bouton pour
CommandButton1_Click()
mais seulement 1 ComboBox
... et le code ne marche pas, même en remplaçant l'un par l'autre



... j'ai dû faire unschmilblick quelque part :

- j'ai effacé A1:A6 dans RowSource
- j'ai mis le code : ComboBox1.RowSource = Range("a1", Range("a1").End(xlDown)).Address

derrière la grille UserForm "click" remplacé par "initialize"
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
756
Retour