USERBOX COMBOBOX

buy6975 Messages postés 8 Date d'inscription vendredi 29 mai 2009 Statut Membre Dernière intervention 1 juin 2009 - 29 mai 2009 à 17:36
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 1 juin 2009 à 00:48
Bonjour,
J'ai créé un Userform qui contient un Combobox et une TextBox.
Dans la Combo je choisis un nom (de la liste) et je souhaite saisir un prix dans la TextBox, si je valide OK, je souhaiterai que ce prix s'inscrive dans la colonne J correspondant au choix du Nom.
J'espère avoir été clair.
Quelqu'un peut-il m'écrire la formule qui va bien, je suis débutant.
Merci d'avance.

14 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
29 mai 2009 à 17:54
Bonjour,

Quelle colone J ??? Les combo et les TextBox n'on pas de colonnes...

Pour un bon tuto pour débutant avec des exemple sur les composants de base c'est ici

@+ Bon courrage
0
buy6975 Messages postés 8 Date d'inscription vendredi 29 mai 2009 Statut Membre Dernière intervention 1 juin 2009
29 mai 2009 à 19:00
Pardon, j'ai du mal expliqué.
J'ai une feuille excel avec en colonne B, les noms
en colonne C les prénoms, etc.. Ma Combo pointe doit pointer sur B et C pour proposer la liste,
lorsque le nom souhaité est sélectionné en pointant dessus, je pointe ensuite sur une Textbox et je saisi un montant, puis je clique sur "OK". Je souhaiterai que le montant saisie dans la Textbox pour le nom choisi dans le Combo aille se mettre dans ma feuille excel en face du nom sélectionné. L'emplacement c'est la colonne J.
Merci de votre aide.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 mai 2009 à 07:27
déplacé de VB.NET vers VBA !!
0
buy6975 Messages postés 8 Date d'inscription vendredi 29 mai 2009 Statut Membre Dernière intervention 1 juin 2009
30 mai 2009 à 13:54
Pardonnez moi, je pensais être au bon endroit !
Peux-tu me donner le lien pour VBA, je ne sais pas où aller ?
Merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 mai 2009 à 14:02
j'ai déjà déplacé ton sujet.
maintenant :
Vous êtes ici : Thèmes / [forum-VISUAL-BASIC_1.aspx Visual Basic 6] / [theme-LANGAGES-DERIVES_287.aspx Langages dérivés] / [theme-VBA_244.aspx VBA] /
0
buy6975 Messages postés 8 Date d'inscription vendredi 29 mai 2009 Statut Membre Dernière intervention 1 juin 2009
31 mai 2009 à 21:00
Quelqu'un peux m'aider pour ma demande svp ?
Merci d'avance.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
31 mai 2009 à 22:35
je viens de poster la fonction getWordAdress à cette adresse :
http://www.codyx.org/snippet_chercher-mot-ou-partie-mot-dans-colonne-feuille_788.aspx#2368

en l'utilisant, ton code devient :





    Dim iRow As Integer
    iRow = getWordAdress(cboLastName.Text, "B", False, True, "Feuil1")
    
    If (iRow = 0) Then
        'pas possible normalement, puisque combo??
        MsgBox "Nom introuvable"
    Else
        Cells(iRow, "J") = txtFirstName.Text
    End If





<small>
[../code.aspx?ID=39466 Coloration VB6, VBA, VBS]
</small>






en principe il ne manque rien...
++

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
buy6975 Messages postés 8 Date d'inscription vendredi 29 mai 2009 Statut Membre Dernière intervention 1 juin 2009
31 mai 2009 à 23:25
J'ai mis cela dans ma Userform2 et j'ai un message sur Private Sub OK_Click()

Private Sub OK_Click()


Dim iRow As Integer
    iRow = getWordAdress(cboLastName.Text, "B", False, True, "LISTE DES MEMBRES")
   
    If (iRow = 0) Then
        'pas possible normalement, puisque combo??
        MsgBox "Nom introuvable"
    Else
        Cells(iRow, "J") = txtFirstName.Text
    End If


End Sub

Je dois faire une erreur ??
Merci
0
buy6975 Messages postés 8 Date d'inscription vendredi 29 mai 2009 Statut Membre Dernière intervention 1 juin 2009
31 mai 2009 à 23:27
Je pense que ça plante sur getWordAdress
Suggestion ?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
31 mai 2009 à 23:31
suggestion... : tu n'as pas copié le code du lien donné précédemment

ps : par la suite quand tu as une "erreur", précise laquelle stp !
0
buy6975 Messages postés 8 Date d'inscription vendredi 29 mai 2009 Statut Membre Dernière intervention 1 juin 2009
31 mai 2009 à 23:49
J'ai mis le code suivant :

Private Sub OK_Click()Public Function getWordAdress(ByVal sExpression As String, ByVal sColumnLetter As String, Optional ByVal bPartial As Boolean False, Optional ByVal bSelectResult As Boolean False, Optional vsSheetName As Variant) As Integer
'   sExpression      mot(s) ou partie de mot à chercher
'    sColumnLetter   lettre de la colonne dans laquelle chercher
'   bPartial        choix sur le mot comlet ou partie du  mot
'   bSelectResult   sélectionner la cellule de  la première occurence trouvée
'   vsSheetName      nom de la feuille dans laquelle cherche, celle active par défaut
'   RETURN          numéro de la ligne de la première occurence  trouvée
    Dim iColStop    As Integer
    Dim i           As Integer
   
    'selection  feuille
    If Not IsMissing(vsSheetName) Then Sheets(vsSheetName).Select
   
    'dernière cellule
    iColStop = Range(sColumnLetter & "65536").End(xlUp).Row
   
    If bPartial Then
        For i = 1 To iColStop
            If Cells(i, sColumnLetter) Like "*" & sExpression & "*" Then
                getWordAdress = i
                If bSelectResult Then Cells(i, sColumnLetter).Select
                Exit For
            End If
        Next i
    Else
        For i = 1 To iColStop
            If Cells(i, sColumnLetter) = sExpression Then
                getWordAdress = i
                If bSelectResult Then Cells(i, sColumnLetter).Select
                Exit For
            End If
        Next i
    End If
End Function


End Sub




ERREUR :
Erreur de compilation End Sub attendu
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 juin 2009 à 00:06
une fonction dans une sub... le message d'erreur est tout ce qu'il y a de plus normal

tu appelles la fonction dans ta sub, tu ne l'écris pas !

tu n'avais pas copié tout à l'heure, là tu la copie au mauvais endroit

tu devrais quand même prendre 2 minutes de réflexion pour "essayer" avant de faure durer cet échange inutilement, tu ne crois pas?

c'est pire que du tout cuit que tu demandes






Private Sub 
OK_Click()




Dim 
iRow 
As Integer

    iRow = getWordAdress(cboLastName.Text, "B", False, True, "LISTE
DES MEMBRES")
   
    If (iRow = 0) Then
        'pas possible
normalement, puisque combo??
        MsgBox "Nom
introuvable"
    Else
        Cells(iRow, "J") = txtFirstName.Text
    End If

End Sub

'http://www.codyx.org/snippet_chercher-mot-ou-partie-mot-dans-colonne-feuille_788.aspx#2368
Private Function getWordAdress(ByVal sExpression As String, ByVal sColumnLetter As String, Optional ByVal bPartial As Boolean = False,
Optional ByVal bSelectResult As Boolean = False,
Optional vsSheetName
As Variant) As Integer
'  
sExpression      mot(s) ou partie de mot à chercher
'   sColumnLetter   lettre de la colonne dans laquelle
chercher
'   bPartial        choix sur le mot
comlet ou partie du  mot
'   bSelectResult  
sélectionner la cellule de  la première occurence trouvée
'   vsSheetName      nom de la feuille dans laquelle cherche,
celle active par défaut
'   RETURN          numéro
de la ligne de la première occurence  trouvée

    Dim iColStop    As Integer
    Dim i           As Integer
   
    'selection  feuille
    If Not IsMissing(vsSheetName) Then Sheets(vsSheetName).Select
   
    'dernière cellule
    iColStop = Range(sColumnLetter & "65536").End(xlUp).Row
   
    If bPartial Then
        For i = 1 To iColStop
            If Cells(i, sColumnLetter) Like "*" & sExpression & "*" Then
                getWordAdress = i
                If bSelectResult Then Cells(i,
sColumnLetter).Select
                Exit For
            End If
        Next i
    Else
        For i = 1 To iColStop
            If Cells(i, sColumnLetter) = sExpression Then
                getWordAdress = i
                If bSelectResult Then Cells(i,
sColumnLetter).Select
                Exit For
            End If
        Next i
    End If
End Function





<small>
[../code.aspx?ID=39466 Coloration VB6, VBA,
VBS]
</small>




bonne nuit
0
buy6975 Messages postés 8 Date d'inscription vendredi 29 mai 2009 Statut Membre Dernière intervention 1 juin 2009
1 juin 2009 à 00:32
Merci et désolé pour ma nulité mais cette fois ci j'ai copié toute ta réponse.

Erreur d'exécution 424 Objet requis.

Je suis pas doué mais je débute.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 juin 2009 à 00:48
et bien sûr je dois deviner la ligne de l'erreur?

ok....
PARCE QUE TU N'AS PAS REMPLACé

cboLastName


ET
txtFirstName




PAR LE NOM DE TES CONTRÔLES !!!!



ce n'est pas de la nullité, c'est de la fainéantise :
PRENDS 2 MINUTES POUR RéFLéCHIR
0
Rejoignez-nous