Remplir une textbox par rapport à une feuille

Fermé
vince_nus - 4 avril 2012 à 09:15
 vince_nus - 5 avril 2012 à 13:13
Bonjour à tous,

j'ai commencé un pti code qui me permet, si je place mon curseur en feuil1, en A4 par exemple, que le code trouve qu'il s'agit de la ligne 4.
l'étape suivante, je veux que en ligne 4 ou sur celle où sera le curseur, la valeur de la texdtbox1 soit la valeur en A4 mais ça ne marche pas.
pour info j'ai crée un bouton dans ma feuille excel qui appele le userform et le code est dans un module. est-ce la bonne procédure??!!

Sub test()

UserForm1.Show

Dim lig As Long
lig = ActiveCell.Row

listbox1.AddItem Cells(lig, 3).Value


End Sub



merci pour votre aide

vince

5 réponses

bonjour

plusieurs choses:

-tu as choisi un bouton , tu aurais pu utiliser la procédure BeforeDoubleClick ou BeforeRightClick de la feuille 1 ; ainsi, plutot que de selectionner une cellule puis de cliquer sur le bouton, on fait directement sur la cellule un double clic ou un clic droit

-la partie chargement de la listbox doit se trouver dans la procédure UserForm_Initialize de la Userform.

A+ pour plus de renseignements
0
bon je vais avoir de plus de précision. j'ai écris ça rapidement dans le code du UserForm

Private Sub UserForm1_Initialize()
Dim lig As Long
lig = ActiveCell.Row
TextBox1 = Range(lig, 1).Value
End Sub


je préfère garder le bouton :-) mais je garde les autres idées pour autre chose. du coup dans un module, j'ai mon code suivant pour appeler le Userform1:

Sub test()
UserForm1.Show
End Sub


j'ai fais simple avec une TextBox car j'ai ai pas mal après!

ben la TextBox1 ya rien dedans !?????

Help me
0
question bête : y a-t-il quelque chose dans la cellule (lig,1) ?

qu'y a -t-il dans la variable lig ?

A+

Edit :
Range(lig, 1).Value ne peut pas marcher ! c'est comme tu l'avais écrit dans le premier post: Cells(lig, 1).Value
0
oui toutes les cellules de la colonne 1 sont remplies.

lig c'est pour récupérer le n° de la ligne où se trouve le curseur et le mettre justement dans cette variable. mais je suis preneur de toutes nouvelles idées. Mon but est, si je me place en ligne 4, je récupère les infos que je veux et j'insère dans les TextBox qui vont bien. L'étape suivante, quand j'y serai, c'est de faire des modifs dans des news TextBox et insérer une nouvelle ligne avec ces nouvelles infos sous la ligne 4.
D'où le faite de reconnaître en quelle ligne se trouve le curseur.

j'espère être assez clair !?

merci
0
as tu lu le rajout de ma réponse précédente :
Range(lig, 1).Value ne peut pas marcher ! c'est comme tu l'avais écrit dans le premier post: Cells(lig, 1).Value

et tu devrais avoir un message d'erreur!
0
aucun message d'erreur quand je lance ou que je ferme le UserForm et rien dans la TextBox !!
0

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

Posez votre question
autre chose

Private Sub UserForm1_Initialize() n'existe pas ! c'est toi qui l'as créer! elle n'est jamais appelée! (c'est pour ça qu'il n'y a pas de message d'erreur)

Utilise la procédure existente de ta Userforme :UserForm_Initialize()

et merci pour les éclaircissements
0
ça marche :-)

merci je vais essayé de faire la suite de mon côté

a+
0
euh j'ai un pb!
bon tout marche bien mais quand je suis par ex en ligne 4, il me remplit les bonnes infos mais si je change de ligne, la 10 par ex, il me garde les infos de la ligne 4 dans les TextBox??!! voilà le code du User

Private Sub UserForm_Initialize()

Dim lig As Long
lig = ActiveCell.Row

TextBox1 = Cells(lig, 1).Value
TextBox2 = Cells(lig, 2).Value
TextBox3 = Cells(lig, 3).Value
TextBox4 = Cells(lig, 4).Value
TextBox5 = Cells(lig, 5).Value
TextBox6 = Cells(lig, 6).Value
TextBox7 = Cells(lig, 7).Value

End Sub


merci
0
chez moi ça marche
je selectionne une cellule ligne 4, je lance la userform, les textbox sont renseignées des valeurs ligne4
je quitte, je relance après selection ligne 10, les textbox prennent bien la valeur de la ligne 10

Désolé, je ne vois pas
0
en fait ça marche si je ferme mon UserForm avec la X
mais si je clique sur mon bouton QUITTER où j'ai assigné le code UserForm.Hide, ça marche pas ^^
0
UserForm_Initialize() ne se déclenche qu'au chargement de la Userform; donc si elle est simplement cachée elle n'est pas rechargée quand elle est affichée de nouveau.
Déplace ton code de UserForm_Initialize() vers UserForm_Activate() ca devrait le faire
0