MAJ plage de données depuis valeur saisie dans une Combobox

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 !

jeff1494

XLDnaute Occasionnel
[Résolu] MAJ plage de données depuis valeur saisie dans une Combobox

Je continue mon apprentissage de VBA, et j'ai un problème qui est le suivant :
J'ai un Userform contenant plusieurs combobox, qui sont alimentées par des listes contenue dans une feuille "Données". Je n'ai pas de problème concernant le remplissage des combobox (même si ce que j'ai fais n'est pas très académique, ni très propre).
Par contre si dans mon userform, je saisis une nouvelle valeur dans une combobox, je ne sais pas comment mettre à jour la plage de données correspondante.

Par exemple, j'ai dans la feuille données une plage nommées edit qui contient le nom des éditeurs de livres. Je voudrais que si je saisis un nouvel éditeur, celui-ci soit ajouté dans la plage edit.
J'ai besoin de comprendre le principe car j'ai d'autres combobox que je devrais gérer de la même manière.

Voici un fichier joint pour vous permettre de comprendre ce que je veux faire. Le bouton dans la première feuille affiche le formulaire "création d'un livre".
Dans ce formulaire (de test, pour l'instant) le bouton "annuler" ne fonctionne pas, il remettra à blanc les saisies éventuelles. Le bouton "valider" va créer une nouvelle ligne dans la feuille "livre".
Si on m'explique comment gérer cela sur la "zone" éditeur je me charge de gérer le reste.

D'avance merci pour votre aide, et bonne journée à tous.
 

Pièces jointes

Dernière édition:
Re : MAJ plage de données depuis valeur saisie dans une Combobox

Bonjour jeff1494,

Pour vérifier qu'une donnée n'est pas déjà dans le combobox il suffit de vérifier que l'indice, ListIndex, de cette donnée saisie dans le combobox soit -1.
Ensuite il n'y a plus qu'à l'ajouter dans la colonne voulue grâce à la propriété End associée à Offset:

Code:
If editeur.ListIndex = -1 Then Sheets("Données").Range("G65536").End(xlUp).Offset(1, 0).Value = editeur.Value
 
Re : MAJ plage de données depuis valeur saisie dans une Combobox

Bonjour Klin89;
Merci pour le lien. En fait la solution de Skoobi, m'a permis d'avancer. Dans tous les cas je conserve ton exemple, car cela peut toujours servir.
Dans tous les cas merci à vous deux pour votre aide précieuse.
Bonne journée à tous.
 
- 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
40
Affichages
1 K
Réponses
5
Affichages
182
Retour