Lancement d'un userform sur une valeur liste

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

Pulco

XLDnaute Nouveau
Bonjour à tous !

Ayant fait de la programmation pendant mes études, je me suis dit que ça ne serait pas spécialement compliqué de se mettre aux maccors Excel mais n'ayant pas pratiqué depuis un bail, c'est pas si facile :'(

Voici mon problème. Dans mon fichier de reporting, j'ai un tableau avec une colonne fournisseur. Pour la valeur, nous avons le choix enter 5 fournisseurs via une liste ainsi qu'un 6eme intitulé nommé "Autres". J'aimerai que quand l'utilisateur sélectionne l'intitulé "Autres", cela m'ouvre mon Userform et que le nom rentré dans le Userform implémente la liste de valeur possibles de la colonne Fournisseur automatiquement.

Ce que j'ai réussi à faire pour le moment (on se moque pas je débute ! 😀)
Créer un boutton qui me permet de rentrer le nom d'un fournisseur et d'afficher le nom rentré à un endroit précis de la feuille (donc à la fin de ma liste).

Voici le code que j'ai actuellement

Module1 :

Code:
Sub macroTest()

    If Range("E7:E").Value = Range("C43").Value Then UserForm1.Show
    'If Target.Value = "Autres" Then UserForm1.Show

End Sub

Feuil1 :
Code:
Private Sub CommandButton1_Click()
UserForm1.StartUpPosition = 2
UserForm1.Show False
End Sub

Userform :

Code:
Private Sub Bouton_Valid_Click()
     Range("C30").Value = Fourn.Text
     Unload Me
End Sub

Je sais pas si je suis très clair, n'hésitez pas à me demander si ce n'est pas le cas

Merci d'avance pour vos conseils

Math
"Un peu perdu 😕"
 
Re : Lancement d'un userform sur une valeur liste

Salut Jordan,

Merci de ta réponse. J'ai réussi à me dépatouiller avec ton bout de code et ça marche nickel pour l'appel, l'userform s'affiche bien !! 😀 Merci c'est super !

Est-il possible que la valeur rentrée dans l'userform apparaisse dans la liste déroulante ?
 
Re : Lancement d'un userform sur une valeur liste

Bonjour le fil, jordan, poulco

Dans le code de la Feuil1, ajoutes l'instruction en bleu.
Cela t'évitera quelques déboires si tu venais à sélectionner plusieurs cellules par inadvertance.
Code:
If Not Intersect(Target, Range("E7:E65536")) Is Nothing [B][COLOR=blue]And Target.Count = 1[/COLOR][/B] Then
A plus
 
Re : Lancement d'un userform sur une valeur liste

Re,
Tout a fait Soenda, bien vu

Une modif également pour eviter les doublons des fournisseurs
Code:
Private Sub CommandButton2_Click()
Dim DerLigne As Integer
Dim i As Integer

DerLigne = Range("Feuil1!H65536").End(xlUp).Row + 1

For i = 1 To DerLigne
     If Sheets("Feuil1").Cells(i, 8) = ComboBox1.Text Then Exit Sub
Next i

Sheets("Feuil1").Cells(DerLigne, 8) = ComboBox1.Text

End Sub
 
Re : Lancement d'un userform sur une valeur liste

Merci pour vos commentaires !

Je me suis peut être mal exprimé quand je parlais de liste mais je parle bien 'une liste excel (validation). Si la manip n'est pas possible je passerai effectivement par la solution de JORDAN qui peut fonctionner pour mon fichier.
 
Re : Lancement d'un userform sur une valeur liste

Re,

Comme ceci ?? :

Code:
Private Sub Bouton_Valid_Click()
Dim DerLigne As Integer

DerLigne = Range("Report!C65536").End(xlUp).Row
With Sheets("Report")
     .Cells(DerLigne, 3) = Me.Fourn.Text
     .Cells(DerLigne + 1, 3) = "Autres"
End With

Unload Me
End Sub
 
Re : Lancement d'un userform sur une valeur liste

Un petit renseignement (même si c'est du chipotage mais bon j'aime bien pinailler le détail ! 😀)

Sur mon fichier, il ajout bien et décale maintenant bien la valeur pour l'ajouter à la liste. (fait avec un ajout de nom). Une simple question en fait :

Est-il possible qu'une fois que l'on entre le nom dans l'userForm, que l'on clique sur Ajouter Fournisseur (à ce moment là il entre bien le nom dans la liste de valeurs définie qui vont servir de référence aux liste déroulantes colonne E), qu'il affiche automatiquement la valeur rentrée dans l'userform dans la cellule ?

J'ai essayé avec target.value ainsi qu'avec ActiveWorkbook.Names.Item.Value mais ça ne marche pas :-(

http://cjoint.com/?fCqe4BfD3V

Merci d'avance poru vos réponses
 
Re : Lancement d'un userform sur une valeur liste

Bonjour Pulco,

Modification du code
Code:
Private Sub Bouton_Valid_Click()
    
      Dim DerLigne As Integer

      DerLigne = Range("Report!C65536").End(xlUp).row
      MsgBox ("Indice de la dernière ligne non vide : " & DerLigne)
      With Sheets("Report")
        .Cells(DerLigne, 3) = Me.Fourn.Text
        .Cells(DerLigne + 1, 3) = "Autres"
        ActiveCell.Value = UserForm1.Fourn.Value
      End With

     ' Range("A2").Value = Fourn.Text
     
     Unload Me
End Sub
 
- 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

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
286
Retour