Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives

Advertisement

 
 
LinkBack Outils de la discussion
Vieux 26/06/2004, 19h50   #1 (permalink)
Wesh
Guest
 
Messages: n/a
Par défaut Contenu d'une cellule dans un TextBox

Bonjour!

J'ai un UserForm (avec une TextBox) ouvert par une macro. Je voudrais que, lorsque je clique sur une cellule de la feuille active, le contenu de celle-ci aille directement dans la TextBox. Comment puis-je faire?
Merci pour votre aide.
 
ANNONCES
Vieux 26/06/2004, 19h57   #2 (permalink)
lea
Guest
 
Messages: n/a
Par défaut Re: Contenu d'une cellule dans un TextBox

Bonsoir

tu écris le code suivant
TextBox.Value=ActiveSheet.Range("Xn")
Xn étant l'adresse de la cellule où tu as écris ce que tu veux transferrer
Exemple Xn=B16
Bon courage
Léa
 
Vieux 26/06/2004, 20h25   #3 (permalink)
Wesh
Guest
 
Messages: n/a
Par défaut Re: Contenu d'une cellule dans un TextBox

Merci Léa mais en fait c'est pas tout à fait ce que je cherche!

Je t'explique:
En fait je voudrais que le contenu de la textbox change avec la cellule sur laquelle je clique!
Si tu peux m'aider.... merci
 
Vieux 26/06/2004, 20h38   #4 (permalink)
lea
Guest
 
Messages: n/a
Par défaut Re: Contenu d'une cellule dans un TextBox

c'est ce que je te propose avec ce bout de code, si ce n'est que bien sur il faut sélectionner la cellule sur laquelle tu cliques
1) en cliquant sur la cellule je la sélectionne
2) je lis son contenu
3) je transfère ce contenu dans un TextBox
est ce bien ce que tu désires réaliser ?
Léa
 
Vieux 26/06/2004, 20h48   #5 (permalink)
Wesh
Guest
 
Messages: n/a
Par défaut Re: Contenu d'une cellule dans un TextBox

Non pas vraiment...mais merci quand même!
Voici plus précisément mon problème:
1- j'ai une textbox dans un userform ouvert
2- en dessous du userform il y a une feuille active
3- quand je clique sur la cellule A1 de cette feuille, je voudrais que le contenu aille dans la textbox
4-puis si je clique maintenant sur B7, le contenu de B7 aille dans la textbox remplcer le précédent contenu
5- ensuite, si je clique sur C12....

Bref, le contenu varie avec l'endroit où je clique!!!
Si tu as une idée....
 
Vieux 26/06/2004, 21h01   #6 (permalink)
Michel_M
Guest
 
Messages: n/a
Par défaut Re: Contenu d'une cellule dans un TextBox

bonsoir wesh et léa

si ta zone d'application dans feuil1(où je clique et c'est indiqué dans le textbox) est par exemple B2:E6 ou autre
essaies avec l'éditeur VBE (feuil1) cette macro événementielle:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Intersect(Target, Range("B2:E6")) Is Nothing Then: End
TextBox1 = Target
End Sub

A+
Michel
 
Vieux 26/06/2004, 21h08   #7 (permalink)
lea
Guest
 
Messages: n/a
Par défaut Re: Contenu d'une cellule dans un TextBox

Il me semble que c'est ce que je t'ai proposé
sélection de la cellule
cellule=ActiveSheet.RangeSelection.Adress
lire le contenu
contenu = ActiveSheet.Range(cellule)
transférer le contenu dans le textbox
Textbox.Value=contenu
à toi de voir si ton textbox est hors de la feuille active, à le sélectionner avant de de le remplir

Léa
 
Vieux 26/06/2004, 21h10   #8 (permalink)
omicron
Guest
 
Messages: n/a
Par défaut Re: Contenu d'une cellule dans un TextBox

Bonsoir Wesh et Lea,

Si j'ai bien compris le problème, l'exemple envoyé en pièce jointe devrait répondre au problème posé.

En résumé, quand on ouvre le classeur la fenêtre est affichée (Attention penser à l'ouvrir en non modal !). Codage de l'évènement WorkBook_Open.

Private Sub Workbook_Open()
UserForm1.Show
End Sub

Ensuite on capte les changements de selection des cellules dans la feuille active et on transfère le contenu de la cellule sélectionnée dans la TextBox. Codage de l'évènement Worksheet_SelectionChange.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UserForm1.TextBox1 = Target
End Sub

Bon courage pour la suite.

Cordialement.

Omicron.
Fichiers attachés
Type de fichier : zip SelectionShow.zip (8,0 Ko, 1 affichages)
 
Vieux 26/06/2004, 21h14   #9 (permalink)
Wesh
Guest
 
Messages: n/a
Par défaut Re: Contenu d'une cellule dans un TextBox

ça ne marche toujours pas!
En tapant ton code, j'obtiens le résultat suivant:
lorsque je clique en dehors de la zone B2:E6, le UserForm se ferme!
Mais toujours rien qui apparaît dans la textbox lorsque je clique dans la zone B2:E6...
 
Vieux 26/06/2004, 21h35   #10 (permalink)
Michel_M
Guest
 
Messages: n/a
Par défaut Re: Contenu d'une cellule dans un TextBox

re

combine ce que j'ai écris avec le post d'omicron (bonjour)

la différence est que je limite l'action à B2:E6 et que j'ai considéré que texbox etait une propriété de userform

donc d'après omicron:

Private Sub Workbook_Open()
UserForm1.Show
End Sub

si action sur toute la feuille
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UserForm1.TextBox1 = Target
End Sub

si action dans B2:E6 seulement

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("B2:E6")) Is Nothing Then: End
UserForm1.TextBox1 = Target
End Sub
 
Vieux 26/06/2004, 21h40   #11 (permalink)
Wesh
Guest
 
Messages: n/a
Par défaut Re: Contenu d'une cellule dans un TextBox

ça y est: c'est bon!
Merci à Omicron et à tous les autres...
 
Vieux 26/06/2004, 21h51   #12 (permalink)
@+Thierry
Guest
 
Messages: n/a
Par défaut Re: Contenu d'une cellule dans un TextBox



Bonsoir tout le monde, Omicron, Michel, Wesh, Léa (y a du monde)

J'avais commencé un truc puis mon PC a crashé bien bien alors du coup j'arrive après la bataille !! lol... bon enfin moi je m'y prends tout à fait autrement...

Voici une démo qui fera la même chose que celle d'Omicro mais sur tout le classeur... avec (comme d'hab) des trucs en plus (lol)...

Pour Michel Attention à ta méthode :
If Intersect(Target, Range("B2:E6")) Is Nothing Then: End

...qui est très peu conventionnelle en programmation, car End te dégage toutes les Variables publiques... Ce qui, selon l'application, peut être vraiment très dangereux.... Je conseille la méthode traditionnelle
If Intersect(Target, Range("B2:E6")) Is Nothing Then Exit Sub

ou (au choix)
If Not Intersect(Target, Range("B2:E6")) Is Nothing Then

Par ailleurs les deux poins ne sont pas nécessaires dans une ligne If... then Action (au contraire en fait il ne les faut pas !)

Bonne soirée
@+Thierry
Fichiers attachés
Type de fichier : zip USF_ActiveSheet_ActiveCell.zip (14,4 Ko, 3 affichages)
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 21h00.


(C) 2006 Excel Downloads