Probleme avec textbox

joric123 Messages postés 9 Date d'inscription mardi 24 août 2010 Statut Membre Dernière intervention 26 février 2011 - 27 janv. 2011 à 18:34
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 26 févr. 2011 à 19:44
Bonjour,

Voila je vous explique mon problème qui doit être très simple à résoudre je pense, J'ai créé une textbox dans userform et j'aimerais que le contenu taper dans la textbox soit copier dans une cellule de la colonne A qui ne contient pas déjà quelque chose par exemple si les cellule A1 a A5 sont déjà rempli, je voudrais que le texte tapé dans la textbox soit écrit dans la cellule A6.

Merci d'avance

3 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
27 janv. 2011 à 19:27
Bonjour,

Un cas classique :
Public Sub PutTextAtFirstFreeCell(byval pValue as variant,byval pCaseDepart as Range)

do while pCaseDepart.Value<>""
set pCaseDepart=pCaseDepart.Offet(1,0)
loop

pCaseDepart.Value=pValue
end sub


Ensuite, tu l'appel par :
PutTextAtFirstFreeCell TextBox1.Text,Cells(1,1)

Il existe aussi une variante avec une variable Long pour parcourir les cases, mais c'est déjà pas mal.

Mon site
0
joric123 Messages postés 9 Date d'inscription mardi 24 août 2010 Statut Membre Dernière intervention 26 février 2011
26 févr. 2011 à 18:51
Bonjour,

Je n'ai pas réussi avec la technique si dessus,
pour l'instant j'utilise ceci :

Range("A4").Select
ActiveCell.FormulaR1C1 = TextBox1.Text

Pour une textbox et :

If OptionButton1 = True Then
Range("B4").Select
ActiveCell.FormulaR1C1 = "outil fraisage"
ElseIf OptionButton2 = True Then
Range("B4").Select
ActiveCell.FormulaR1C1 = "outil tournage"
ElseIf OptionButton3 = True Then
Range("B4").Select
ActiveCell.FormulaR1C1 = "foret"
ElseIf OptionButton8 = True Then
Range("B4").Select
ActiveCell.FormulaR1C1 = "autre"
Else: Range("B4").Select
ActiveCell.FormulaR1C1 = "*****"

Pour les optionbutton mais le problème c'est que sa ne met pas à la suite de ce qu'il y a
déjà,

Comment faire?

Merci
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
26 févr. 2011 à 19:44
Bonjour,

Range("B4").Select
ActiveCell.FormulaR1C1 = "foret"

Se simplifie par :
Range("B4").FormulaR1C1 = "foret"
plus rapide et plus lisible, mais il y a aussi en plus réduit :
Cells(4,2).FormulaR1C1 = "foret"

Ensuite, tu écrase la valeur :
a="toto"
a contiendra "toto" quelque soit la valeur précédente

a=a & "tata"
ça ajoutera tata à la fin du contenu précédent, par exemple "tototata"

Concaténation de chaines

Mon site
0
Rejoignez-nous