Renseigner des cellules avec un TextBox
dudulleray
-
dudulleray -
dudulleray -
Bonjour, a toutes et tous, Forum bonjour
J'ai une feuil1 qui me sert de "banque de données" et un UserForm1 avec un TextBox1
je souhaiterai avec le TextBox1 renseigner qu'avec des chiffres et la virgule une des cellules qui se trouve sur ma Feuil1 dans la zone E21:P21
Comment svp sélectionner AUPARAVANT une des cellules zone E21:P21 ou sera copier ce que je vais écrire dans le TextBox1
Ex: je sélectionne G21 , j'écris 125 dans le TextBox1 et transfert dans la cellule G21
PS:j'avais penser faire la sélection avec un combobox mais je ne sais pas faire le code
Merci a vous et de votre temps, ouvert a toutes idées
Bonne après midi a tous
Cdlt
J'ai une feuil1 qui me sert de "banque de données" et un UserForm1 avec un TextBox1
je souhaiterai avec le TextBox1 renseigner qu'avec des chiffres et la virgule une des cellules qui se trouve sur ma Feuil1 dans la zone E21:P21
Comment svp sélectionner AUPARAVANT une des cellules zone E21:P21 ou sera copier ce que je vais écrire dans le TextBox1
Ex: je sélectionne G21 , j'écris 125 dans le TextBox1 et transfert dans la cellule G21
PS:j'avais penser faire la sélection avec un combobox mais je ne sais pas faire le code
Merci a vous et de votre temps, ouvert a toutes idées
Bonne après midi a tous
Cdlt
A voir également:
- Renseigner des cellules avec un TextBox
- Verrouiller des cellules excel - Guide
- Excel additionner plusieurs cellules - Guide
- Fusionner deux cellules excel - Guide
- Pour ce faire la taille des cellules fusionnées doit être identique ✓ - Forum Excel
- Pourquoi je ne peux pas fusionner des cellules dans excel ✓ - Forum Excel
10 réponses
bonjour
plusieurs solutions:
-Sélectionner la cellule avant d'activer la Userform: le plus simple à mettre en oeuvre
-une boite de dialogue (inputbox) où l'utilisateur saisira la cellule :inconvénient il faut gérer le format et la validité des références saisies
-comme vous l'avez dit une combobox contenant le choix des cellules: simple(relativement) et sûr.
- et peut être d'autres auxquelles je n'ai pas pensé ....;
En fonction du choix, il n'y a plus qu'à !
A bientôt
plusieurs solutions:
-Sélectionner la cellule avant d'activer la Userform: le plus simple à mettre en oeuvre
-une boite de dialogue (inputbox) où l'utilisateur saisira la cellule :inconvénient il faut gérer le format et la validité des références saisies
-comme vous l'avez dit une combobox contenant le choix des cellules: simple(relativement) et sûr.
- et peut être d'autres auxquelles je n'ai pas pensé ....;
En fonction du choix, il n'y a plus qu'à !
A bientôt
re,
dans la Sub Initialize() de la Userform:
pour éviter d'ajouter les références de cellule une par une, on fait une boucle :
ensuite créer un CommandButton et dans sa Sub Click():
à adapter au nom de la Combobox.
Bonne suite ou A+
dans la Sub Initialize() de la Userform:
pour éviter d'ajouter les références de cellule une par une, on fait une boucle :
For i = 1 To 12 ComboBox1.AddItem Chr(68 + i) & 21 ' crée de E21 à P21 Next
ensuite créer un CommandButton et dans sa Sub Click():
If ComboBox1.Value <> "" Then
Range(ComboBox1.Value) = TextBox1.Value
Else
Msgbox "Vous devez choisir une référence de cellule ...."
End If
à adapter au nom de la Combobox.
Bonne suite ou A+
Bonjour Paf, forum
Merci pour ta réponse et pour le petit code, c'est bien gentil a toi, j'ai essayer et j'ai bien l'affichage des references des cellules dans le combobox2, que je peux sélectionner OK
après je n'arrive pas a placer la valeur entrer dans le TextBox2 dans la
cellule choisie.
Je te remercie pour ton aide, une bonne journée en attendant le soleil.
Cordialement Ray
SVP, Si tu a le temps de me corriger , pas moi (LOL) le code hihihihi, merci
Merci pour ta réponse et pour le petit code, c'est bien gentil a toi, j'ai essayer et j'ai bien l'affichage des references des cellules dans le combobox2, que je peux sélectionner OK
après je n'arrive pas a placer la valeur entrer dans le TextBox2 dans la
cellule choisie.
Je te remercie pour ton aide, une bonne journée en attendant le soleil.
Cordialement Ray
SVP, Si tu a le temps de me corriger , pas moi (LOL) le code hihihihi, merci
Private Sub Commandbutton5_Click()
If ComboBox2.Value <> "" Then
Range(ComboBox2.Value) = TextBox2.Value
Else
MsgBox "Choisir une référence de cellule."
End If
End Sub
'*** Set Ws = Sheets("Compte") est le nom de ma Feuil1
Private Sub TextBox2_Change()
Ws.Cells(21, ComboBox2.Value) = TextBox2.Value ' Erreur a cette ligne
End Sub
Bonjour,
tu as aussi l'objet refEdit qui permet à l'utilisateur d'aller cliquer sur la cellule désirée.
Clic-droit sur la boite à outil pour ajouter un élément absent.
eric
tu as aussi l'objet refEdit qui permet à l'utilisateur d'aller cliquer sur la cellule désirée.
Clic-droit sur la boite à outil pour ajouter un élément absent.
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
il y surement des détails que tu n'as pas précisés au départ. Ce qui ressort du premier post:
une feuille ,une userform ,une combobox.
on choisit les référence de cellule dans la combobox et on écrit dans la même feuille dans la cellule choisie ce qu'on vient d'entrer dans la textbox.
Si c'est bien ça, le code proposé fonctionne, en l'utilisant dans un commandbutton, comme a priori tu l'as fait.
Vouloir lancer l'écriture dans la cellule choisie depuis la Sub TextBox2_Change() n'est pas une bonne idée puisqu'elle se déclenche dès le premier caractère saisi. (d'où l'idée de déclencher le code par un bouton après la saisie de la textbox.)
Par ailleurs, dans Ws.Cells(21, ComboBox2.Value), ComboBox2.Value contient E21ou F21 ou G21 ou ..... , c'est comme si tu écrivais :Ws.Cells(21, E21) . La syntaxe n'est pas bonne.
le principe est donc celui donné dans mon post précédent aux modifications près:
A+
il y surement des détails que tu n'as pas précisés au départ. Ce qui ressort du premier post:
une feuille ,une userform ,une combobox.
on choisit les référence de cellule dans la combobox et on écrit dans la même feuille dans la cellule choisie ce qu'on vient d'entrer dans la textbox.
Si c'est bien ça, le code proposé fonctionne, en l'utilisant dans un commandbutton, comme a priori tu l'as fait.
Vouloir lancer l'écriture dans la cellule choisie depuis la Sub TextBox2_Change() n'est pas une bonne idée puisqu'elle se déclenche dès le premier caractère saisi. (d'où l'idée de déclencher le code par un bouton après la saisie de la textbox.)
Par ailleurs, dans Ws.Cells(21, ComboBox2.Value), ComboBox2.Value contient E21ou F21 ou G21 ou ..... , c'est comme si tu écrivais :Ws.Cells(21, E21) . La syntaxe n'est pas bonne.
le principe est donc celui donné dans mon post précédent aux modifications près:
Private Sub Commandbutton5_Click()
If ComboBox2.Value <> "" Then
Sheets("Compte").Range(ComboBox2.Value) = TextBox2.Value
Else
MsgBox "Choisir une référence de cellule."
End If
End Sub
A+
Salut Paf,
Merci pour la modification et pour tes explications non moins enrichissantes, alors essais concluant tout fonctionne bien.
Encore un petit service svp pour paufiner le code si tu veux bien
j'ai plusieurs Textboxs de 1 à 5 pour l'instant.
je souhaiterai svp faire en sorte de controler les entrées dans ces TextBoxs, qui ne seront que des chiffres avec le point ou la virgule.
Te serait'il svp possible (si tu a du temps dispo) de faire une boucle des 5 TextBoxs afin de controler que l'on entre bien que des chiffres.
Afin d'éviter des codes répétitifs dans chaque TextBoxs
Ex: une sub qui serait appeller quand il y aurai besoin d'un test
Je te remercie beaucoup pour le coup de main apporter, en plus j'ai encore appris quelques trucs dont ce code que je connaissais pas ni mème vu sur le net
cela me sera bien pratique a l'avenir
Bonne après midi a toi
A plus tard Ray
Merci pour la modification et pour tes explications non moins enrichissantes, alors essais concluant tout fonctionne bien.
Encore un petit service svp pour paufiner le code si tu veux bien
j'ai plusieurs Textboxs de 1 à 5 pour l'instant.
je souhaiterai svp faire en sorte de controler les entrées dans ces TextBoxs, qui ne seront que des chiffres avec le point ou la virgule.
Te serait'il svp possible (si tu a du temps dispo) de faire une boucle des 5 TextBoxs afin de controler que l'on entre bien que des chiffres.
Afin d'éviter des codes répétitifs dans chaque TextBoxs
Ex: une sub qui serait appeller quand il y aurai besoin d'un test
Je te remercie beaucoup pour le coup de main apporter, en plus j'ai encore appris quelques trucs dont ce code que je connaissais pas ni mème vu sur le net
ComboBox1.AddItem Chr(68 + i) & 21 ' crée de E21 à P21
cela me sera bien pratique a l'avenir
Bonne après midi a toi
A plus tard Ray
Te serait'il svp possible (si tu a du temps dispo) de faire une boucle des 5 TextBoxs afin de controler que l'on entre bien que des chiffres. Afin d'éviter des codes répétitifs dans chaque TextBoxs
pour éviter de saisir le même code pour chaque textbox, c'est beaucoup moins simple.
Je te conseille de regarder les astuces de lermite222 sur les liens suivants:
http://www.commentcamarche.net/faq/12862-vba-ecrire-lire-une-serie-de-textbox-en-une-seule-sub
http://www.commentcamarche.net/faq/31279-vba-ajouter-des-controles-dynamiquement-dans-un-userform
bonne suite et bonne progression
RE
J'ai regarder les liens que tu m'a envoyer effectvement ce n'ai pas trop simple
je pensais une petite macro Sub appeler quand on est dans un Textbox et cela
qui controle si on entre bien que des chiffres.
Bon tant pis
je te remercie de t'etre interresser a mes quelques soucis, c'est très sympa
et grace a toi mon fichier avance doucement.
A plus tard sans doute et encore merci
Cordialement Raymond
J'ai regarder les liens que tu m'a envoyer effectvement ce n'ai pas trop simple
je pensais une petite macro Sub appeler quand on est dans un Textbox et cela
qui controle si on entre bien que des chiffres.
Bon tant pis
je te remercie de t'etre interresser a mes quelques soucis, c'est très sympa
et grace a toi mon fichier avance doucement.
A plus tard sans doute et encore merci
Cordialement Raymond
Re,
Plus simplement tu peux contrôler la saisie au fil de l'eau et si elle est numérique la préserver dans le tag pour la restituer si une saisie est non numérique, après un message d'alerte.
Tu peux faire un contrôle plus fin aussi : 2 décimales maxi, limites mini maxi etc
eric
Plus simplement tu peux contrôler la saisie au fil de l'eau et si elle est numérique la préserver dans le tag pour la restituer si une saisie est non numérique, après un message d'alerte.
Private Sub TextBox1_Change()
If IsNumeric(TextBox1) Or TextBox1 = "" Then
Tag = TextBox1
Else
MsgBox ("valeur numérique uniquement")
TextBox1 = Tag
End If
End Sub
Tu peux faire un contrôle plus fin aussi : 2 décimales maxi, limites mini maxi etc
eric
Salut eric
Merci de ta réponse et pour le chti code, ca fonctionne reste a voir pour paufiner
Tu me dit ceci
"Tu peux faire un contrôle plus fin aussi : 2 décimales maxi, limites mini maxi etc"
Tu peux svp me faire un exemple de ces possibilités , cela m'interresse car je suis en
pleine saisie, deux décimales me suffise bien ainsi que le point ou la virgule
quand tu a le temps bien sur, sur ce je vais manger , bon app a toi
A plus tard et encore merci de ton aide
Cdlt Ray
Merci de ta réponse et pour le chti code, ca fonctionne reste a voir pour paufiner
Tu me dit ceci
"Tu peux faire un contrôle plus fin aussi : 2 décimales maxi, limites mini maxi etc"
Tu peux svp me faire un exemple de ces possibilités , cela m'interresse car je suis en
pleine saisie, deux décimales me suffise bien ainsi que le point ou la virgule
quand tu a le temps bien sur, sur ce je vais manger , bon app a toi
A plus tard et encore merci de ton aide
Cdlt Ray
Bonjour eric
C'est pour ma compta perso , alors deux décimales maxi c'est amplement suffisant pour moi
Par contre virgule ou point, pas facile car je ne sais pas pourquoi parfois c'est la virgule ou le point qui marche
Pour infos j'ai pour l'instant 5 TextBoxs ou je n'entre que des chiffres
Merci de ton aide bonne journée
Cdlt Ray
C'est pour ma compta perso , alors deux décimales maxi c'est amplement suffisant pour moi
Par contre virgule ou point, pas facile car je ne sais pas pourquoi parfois c'est la virgule ou le point qui marche
Pour infos j'ai pour l'instant 5 TextBoxs ou je n'entre que des chiffres
Merci de ton aide bonne journée
Cdlt Ray
Bonjour,
C'est pour ma compta perso
Tu crois que ça vaut vraiment le coup ? Je ne pense pas...
Tu regardes toujours ta saisie avant de valider, et les cas où tu auras 3 décimales doivent arriver 1 fois tous les 30 ans...
Ca vaut le coup pour contrôler une référence style 3 lettres-2 chiffres-1 lettre, mais là ça serait rajouter du code inutile.
Par contre virgule ou point, pas facile car je ne sais pas pourquoi parfois c'est la virgule ou le point qui marche
Ca dépend de la machine, de son réglage par défaut du séparateur décimal dans le panneau de configuration.
eric
C'est pour ma compta perso
Tu crois que ça vaut vraiment le coup ? Je ne pense pas...
Tu regardes toujours ta saisie avant de valider, et les cas où tu auras 3 décimales doivent arriver 1 fois tous les 30 ans...
Ca vaut le coup pour contrôler une référence style 3 lettres-2 chiffres-1 lettre, mais là ça serait rajouter du code inutile.
Par contre virgule ou point, pas facile car je ne sais pas pourquoi parfois c'est la virgule ou le point qui marche
Ca dépend de la machine, de son réglage par défaut du séparateur décimal dans le panneau de configuration.
eric
Merci pour ta réponse, effectivement j'ai penser pour (inputbox) pas trop pour.
Si tu veux bien m'aider svp pour le code et que tu a le temps le Combobox
me parait pas mal
je pensais mettre les valeurs des cellules de E21 à C21 dans le combo
puis sélectionner la cellule de destination, après je pensais par l'intermédiaire
d'un TextBox entrer la valeur Ex 125,75 € enter et transfert via la cellule préselectionner
Je vois ça comme ça, mais je mets a coté sans doute LOL
Je te dit a plus tard et merci a toi
Cdlt