UserForm Liste déroulante

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

terpick

XLDnaute Occasionnel
Merci Forum pour vos réponses !
Cependant, je suis pas encore au niveau pour comprendre les macros présentées.
Je vous propose un fichier mieux expliqué avec le travail que j'ai commencé, il manque des finitions.
J'ajoute donc une ligne dans un tableau sur la feuille liste qui se met toujours en ligne B, par contre, quand j'utilise mon userform pour activer cette macro, cela me rajoute la ligne voulue dans la feuille Travail.
Et je ne sais pas comment appliquer le nom saisi dans textbox dans la case ajoutée dans ma fameuse ligne, notamment A2 feuille liste
voilà, merci pour votre aide
 

Pièces jointes

Re : UserForm Liste déroulante

Bonjour Terpick, bonjour le forum,

En pièce jointe ton fichier modifié. Pour qu'une donné se place dans un onglet spécifique il faut lui indiquer le chemin... Tu lances une Userform dans l'onglet Travail et tu voudrais que la donnée soit placée dans l'onglet Liste. Il faut donc écrire cela dans le code sinon VBA se refèrera à l'onglet de départ.
J'ai modifié l'Ordre des tabulations de l'Userform pour qu'à l'ouverture la TexBox1 soit active.
J'ai mis la propriété Default du bouton valider à True pour que la touche [Entrée] permette de valider
J'ai mis la propriété Cancel du bouton annuler à True pour que la touche [Échap.] permette d'annuler...
Le code sur le bouton Valider :
Code:
Private Sub CommandButton1_Click() 'bouton "valider"
With Sheets("Liste") 'prend en compte l'onglet "Liste" *
    If Me.TextBox1.Value <> "" Then 'condition : si la TextBox1 n'est las vide
        'insère (dans l'onglet "Liste") une ligne vide en 2 avec les mêmes format que la ligne au dessus
        .Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        'place en A2 (de l'onglet "Liste") la valeur de la TextBox1
        .Range("A2").Value = Me.TextBox1.Value
    End If 'fin de la condition
End With 'fin de la prise en compte de l'onglet "Liste"
Unload Me 'vide et ferme l'UserForm
End Sub
*With et End With permettent de spécifier un objet. Il suffit de mettre un point (.) devant pour ensuite signifier que c'est à cet objet que l'on se refère... (valable pour un onglet, une plage, une TextBox, etc...)
 

Pièces jointes

Re : UserForm Liste déroulante

Merci beaucoup, Robert!
C'est tout à fait ça...
Pour le choix des feuilles je mettais uniquement Sheets ("Liste") sans With, c'est pour cela que la macros ne marchait pas!
Vos explications sont vraiment bien, c'est ce qui me manque 🙂
Par contre, pour rebondir sur la problématique, est-il possible, dans le cas si l'utilisateur se trompe avec la saisie, de supprimer la mauvaise saisie? Je comprends, que ceci est beaucoup plus compliqué.
Merci encore !!!
 
- 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
36
Affichages
3 K
Réponses
129
Affichages
9 K
Retour