Saisie dans la bonne cellule selon choix combobox

Demouret

XLDnaute Junior
Bonjour le Forum,

J'imagine que le sujet à déjà été traité à maintes reprises mais je ne vois même pas comment effectuer ma recherche...

Lorsque dans un USF je renseigne une valeur je voudrai que celle ci s'inscrive dans la bonne cellule selon le choix que je fais dans la combobox. Ca je ne sais pas trop comment faire de manière simple... Ni pas simple d'ailleurs...

j'ai mis un petit exemple...

A votre bon coeur ;-)

Merci

Bonne journée
 

Pièces jointes

  • stock chants coloris.xlsm
    26.7 KB · Affichages: 68

VDAVID

XLDnaute Impliqué
Re : Saisie dans la bonne cellule selon choix combobox

Bonjour Demouret,

Tu peux essayer de rajouter dans le code de ton Userform:

Code:
Private Sub ComboBox1_AfterUpdate()
    If TextBox2.Value <> "" And ComboBox1.Value <> "" Then
      Cells(21, Cells.Find(ComboBox1.Value).Column).Value = TextBox2.Value
    End If
End Sub

Private Sub TextBox2_AfterUpdate()
If TextBox2.Value <> "" And ComboBox1.Value <> "" Then
  Cells(21, Cells.Find(ComboBox1.Value).Column).Value = TextBox2.Value
    End If
End Sub

Bonne journée !
 

Theze

XLDnaute Occasionnel
Re : Saisie dans la bonne cellule selon choix combobox

Bonjour,

Un exemple avec la fonction Match. A mettre dans le module de ta Form :
Code:
Private Sub ComboBox1_Change()

    Dim Plage As Range
    
    With Worksheets("Feuil1")
     
        Set Plage = .Range(.Cells(16, 1), .Cells(16, .Columns.Count).End(xlToLeft))
    
    End With
        
        Cells(ActiveCell.Row, Application.WorksheetFunction.Match(ComboBox1.Text, Plage)) = TextBox2.Text
           
End Sub

Private Sub ComboBox2_Change()

    Dim Plage As Range
    
    With Worksheets("Feuil1")
     
        Set Plage = .Range(.Cells(16, 1), .Cells(16, .Columns.Count).End(xlToLeft))
    
    End With
        
        Cells(ActiveCell.Row, Application.WorksheetFunction.Match(ComboBox2.Text, Plage)) = TextBox3.Text
        
End Sub

Private Sub ComboBox3_Change()

    Dim Plage As Range
    
    With Worksheets("Feuil1")
     
        Set Plage = .Range(.Cells(16, 1), .Cells(16, .Columns.Count).End(xlToLeft))
    
    End With
        
        Cells(ActiveCell.Row, Application.WorksheetFunction.Match(ComboBox3.Text, Plage)) = TextBox4.Text

End Sub

Hervé.
 

Demouret

XLDnaute Junior
Re : Saisie dans la bonne cellule selon choix combobox

Bonjour le forum,

Merci David, Merci Hervé
Le code fonctionne et je suis déjà très content avec ça

Pour faire un peu le mec chiant je me demandais comment faire pour que tout soit validé uniquement lorsque l'on "valide" avec le commandbutton
Je m explique, en fait avec combobox_change ou afterupdate les valeurs saisies s'inscrivent directement sur la feuille et si je change la couleur dans la combobox2 cela m'inscrit 2 fois (ou plusieurs fois) la valeur saisie
C'est OK quand on le sait mais c'est peut être une source d'erreur j'en ai peur...
Mais si c'est pas possible je me contente de ce code je ferai attention

Merci

Bonne journée

Piere
 

laetitia90

XLDnaute Barbatruc
Re : Saisie dans la bonne cellule selon choix combobox

bonjour Demouret,Theze,VDAVID
tu as la meme list sur feuil 1 que sur feuil coloris ?? autant prendre directement la list sur feuil1 a moins que loupe quelque chose
code user

Code:
Private Sub UserForm_Initialize()
ComboBox1.List = Application.Transpose([f16:ap16])
ComboBox2.List = ComboBox1.List
ComboBox3.List = ComboBox1.List
End Sub

Code:
Private Sub CommandButton1_Click()
ActiveCell.Value = TextBox1.Value
If ComboBox1.ListIndex > -1 And TextBox2 <> "" Then _
Cells(ActiveCell.Row, ComboBox1.ListIndex + 6) = TextBox2.Value
If ComboBox3.ListIndex > -1 And TextBox4 <> "" Then _
Cells(ActiveCell.Row, ComboBox3.ListIndex + 6) = TextBox4.Value
Unload UserForm3
End Sub
 

Demouret

XLDnaute Junior
Re : Saisie dans la bonne cellule selon choix combobox

Bonjour Laetitia,

Tu sais je bidouille avec mes maigres connaissances sur le sujet alors c'est pas toujours très optimisé ;-))
Je ne savais pas que l'on pouvais remplir les combo comme ça mais effectivement c'est nickel...
... et tout aussi nickel pour le code du commandbutton

Merci beaucoup

Bonne journée à vous tous
 

Discussions similaires

Réponses
4
Affichages
404

Statistiques des forums

Discussions
312 672
Messages
2 090 776
Membres
104 663
dernier inscrit
Girondins43