VBA - Liste déroulante qui passe à la prochaine valeur automatiquement

Bonjour tout le monde,

Alors voila : je cherche depuis un moment comment avoir une liste déroulante (combobox) "liée" au bouton -Ajouter- de mon formulaire de saisie userform.

Je m'explique... Ma liste déroulante est composée de noms et j'aimerais que dès que je rentre une valeur dans ma textbox et que je l'ajoute à mon tableau excel, le prochain nom s'affiche sur la liste déroulante de mon formulaire de saisie. En gros que dès que je valide mon formulaire ça switch sur le prochain nom et ainsi de suite.

Suis-je clair?

Merci d'avance pour vos éclairages :)

Hello,

Oui désolé! :/

8fichier.xlsm (121.20 Ko)

Je ne comprends pas bien ce que tu cherches à faire ..

Tu veux ajouter un nom dans ta textbox nomme en bleu valeur ? Puis tu veux cliquer sur le bouton ajouter ? Puis tu veux recuperer un autre nom que celui que tu viens d' ajouter ?

C'est un peu ça... j'aimerais savoir s'il est possible de choisir le 1er nom, rentrer une valeur (en dessous de la zone bleue), cliquer sur "ajouter" -> puis ensuite que ça passe au nom suivant automatiquement et ainsi de suite.

Le but étant de ne pas retourner choisir un nouveau nom manuellement à chaque fois que j'ajoute une valeur.

et ton nouveau nom tu le trouves où ?

Dans la liste déroulante des noms.

L'idée c'est : Je choisis Axel -> je rentre sa valeur -> j'ajoute -> ça choisit automatiquement arthur -> je rentre sa valeur -> j'ajoute -> ça choisit automatiquement Evan -> je rentre sa valeur -> j'ajoute -> etc...

Hello,

Voici

12fichier.xlsm (116.54 Ko)

C'est exactement l'idée merci beaucoup!

Du coup j'ai réutilisé ta formule, mais pour les données. (sans changer le nom du coup)

C'est à dire je choisis le nom -> je choisis la 1re donnée = distance parcourue -> je rentre la valeur -> j'ajoute -> ça passe à la distance de sprint -> etc...

Cependant j'aurais une dernière question... est-il possible que ça change de nom (comme avec ta formule de base) mais seulement après les dernière donnée (décélérations)?

--> Je rentre toutes les données pour un nom, et seulement après la dernière donnée de la liste déroulante ça switch sur le prochain nom. Et ainsi de suite.

Merci d'avance 🙏

Si j'ai bien cerné ce que tu veux faire je pense que tu fais compliqué alors que tu peux faire simple ...

actuellement tu selectionne le nom puis clique sur ajouter, ensuite tu selectionne le cycle puis tu clique sur ajouter et ainsi de suite ...

C'est ça que tu fais actuellement ?

Non j'ajoute après avoir choisi le nom, le cycle, la semaine, le jour et la donnée (et rentré la valeur correspondante bien sûr).

Le cycle la semaine et le jour, ça je change manuellement quand je le souhaite. Mais j'aimerais que les cases nom et donnée soit en quelques sortes "automatisées".

Je sais que je pousse un peu loin pour pas grand chose au premier abord, mais lorsqu'après chaque ajout de valeur on doit manuellement passer à la prochaine donnée puis au prochain nom à chaque fois c'est du temps perdu....

Je viens de comprendre ...

Tu peux essayer comme ceci :

Private Sub btn_Click()
Dim est_trouve As Range

    Sheets("SOURCE").Activate
    Range("A1").Select
    Selection.End(xlDown).Select
    Selection.Offset(1, 0).Select
    ActiveCell = cbnoms.Value
    ActiveCell.Offset(0, 1).Value = Val(cbocycle.Text)
    ActiveCell.Offset(0, 2).Value = Val(cbsemaine.Text)
    ActiveCell.Offset(0, 3).Value = cbojour
    ActiveCell.Offset(0, 4).Value = cbodonnée
    ActiveCell.Offset(0, 5).Value = Val(txtvaleur.Text)
     If cbnoms <> "décélérations <2 m.s.s" Then
        Set est_trouve = Sheets("Feuil2").Columns("J").Find(cbnoms)
        cbnoms = Sheets("Feuil2").Cells(est_trouve.Row + 1, "J").Value
     End If
End Sub
Rechercher des sujets similaires à "vba liste deroulante qui passe prochaine valeur automatiquement"