Remplir une cellule grace à 3 textbox : ligne, colone, valeur
Résolu
Ipalgo
Messages postés
53
Statut
Membre
-
Ipalgo Messages postés 53 Statut Membre -
Ipalgo Messages postés 53 Statut Membre -
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
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
-
-
Je n'ai pas eu besoin d'ajouter + 1 dans mes tests pour écrire sur la ligne désirée !!!
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 !!! -
Ok, mais ça veut dire que si tu mets la ligne 1 pour l'année 2014 dans l'UF, tu écris en ligne 1 du tableur.. et tu effaces l'intitulé 2014 de la colonne non ?
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. -
-
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
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.
-
-
bonjour,
sub commandbutton1_click
cells(textbox1.value,textbox2.value) = textbox3.value
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" -
Je place un fichier exemple à l'adresse suivante pour être plus précis :
https://www.cjoint.com/c/CKAmVTCfQte -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
En fait, ça fonctionne ... mais le problème exposé ne correspond pas à ce qu'il y a dans le fichier !!!
l'intersection ligne="TextBox1"/colonne="TextBox2"
Ca c'est que Mélanie et moi avons fait ...
Mais en fait, il faut renseigner l'année et non la colonne ...
-