Remplir une cellule grace à 3 textbox : ligne, colone, valeur
Résolu
Ipalgo
Messages postés
51
Date d'inscription
Statut
Membre
Dernière intervention
-
Ipalgo Messages postés 51 Date d'inscription Statut Membre Dernière intervention -
Ipalgo Messages postés 51 Date d'inscription Statut Membre Dernière intervention -
Bonjour la communauté,
Situation :
1feuille excel, 1 userform, 3textbox, 1commandbutton et... une grande base de donnée... (exact, l'erreur à ne pas commettre ;) )
Quel serait le code VBA pour, au clic du commandbutton1 placé dans l'UserForm, activer la cellule à l'intersection ligne="TextBox1"/colonne="TextBox2" et la remplir avec la valeur de la "Textbox3" ?
A vous lire,
iPA
Situation :
1feuille excel, 1 userform, 3textbox, 1commandbutton et... une grande base de donnée... (exact, l'erreur à ne pas commettre ;) )
Quel serait le code VBA pour, au clic du commandbutton1 placé dans l'UserForm, activer la cellule à l'intersection ligne="TextBox1"/colonne="TextBox2" et la remplir avec la valeur de la "Textbox3" ?
A vous lire,
iPA
A voir également:
- Remplir une cellule grace à 3 textbox : ligne, colone, valeur
- Ai suite 3 - Télécharger - Optimisation
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- :3 emoji ✓ - Forum Mail
- 3 emoji - Forum Mail
6 réponses
Voilà qui doit satisfaire la demande ...
Private Sub CommandButton1_Click() Dim DernCol As Long Dim i As Long If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Then Msgbox "Vous devez renseigner les 3 champs", vbExclamation, "Saisie Obligatoire" Exit Sub End If DernCol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column For i = 1 To DernCol If Cells(1, i) = CLng(TextBox1.Text) Then Cells(CLng(TextBox2.Text), i) = TextBox3.Text TextBox2.Text = "" TextBox3.Text = "" Exit Sub End If Next i End Sub
Merci Mélanie,
j'ai essayé la solution ce matin ; un message d'erreur apparait : "erreur d'exécution '1004' : Erreur définie par l'application ou par l'objet "
En lisant le vba on voit que les valeur des textbox sont bien réutilisés mais elles sont entre guillemets "". Peut être que la syntaxe Cells(1,2) ne convient pas ?
En passant le curseur au dessus de la ligne de débogage j'ai l'impression que ça donne :
cells("2015","2") = "6"
j'ai essayé la solution ce matin ; un message d'erreur apparait : "erreur d'exécution '1004' : Erreur définie par l'application ou par l'objet "
En lisant le vba on voit que les valeur des textbox sont bien réutilisés mais elles sont entre guillemets "". Peut être que la syntaxe Cells(1,2) ne convient pas ?
En passant le curseur au dessus de la ligne de débogage j'ai l'impression que ça donne :
cells("2015","2") = "6"
Je place un fichier exemple à l'adresse suivante pour être plus précis :
https://www.cjoint.com/c/CKAmVTCfQte
https://www.cjoint.com/c/CKAmVTCfQte
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Cells(CLng(TextBox2.Text) + 1, i) = TextBox3.Text
Lorsque j'ai mis la ligne 10 pour l'année 2014 dans le UF, j'avais bien en ligne 10 dans la colonne nommée "2014" la donnée du textbox3 ... et non pas à la ligne 9 comme il semblerait que ça se produit chez toi !!!
Chez moi la ligne 1 du tableur est réservée aux intitulés des colonnes, donc mon 1er n° client correspond à la 2ème ligne du tableur, d'où le +1.
...Bon appétit
Chez toi !!! ça tu ne l'as pas précisé, parce que chez moi, celui qui utilise ton UF, comme je l'ai fait, sait quelle ligne doit être renseignée et non quel client ... de ce fait, je ne mettrais jamais la ligne 1 dans le textbox2.
Je ne sais pas si la commande Beep fonctionne en VBA.