Afficher la valeur d'une cellule dans un bouton

  • Initiateur de la discussion pias
  • Date de début
P

pias

Guest
Bonsoir, le Forum,

Dans une Userform pour afficher la valeur d'une cellule dans un bouton, j'utilise le code suivant:

Private Sub CommandButton2_Click()
CommandButton2.Caption = Range("C7")
Call liste_prod3
liste_prod1.Hide
End Sub

Le problème est que le bouton ne prend la valeur de la cellule que une fois que on a cliquer dessus. Comment faire ?
Si quelqu’un a une idée merci d’avance
a+
@pias
 
@

@+Thierry

Guest
Salut Pias, le Forum

Et bien tout simplement dans le Private Module de la Feuille en question avec le code Suivant :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Me.Range("C7") Then
CommandButton1.Caption = Range("C7")
End If
End Sub

On peut voir d'autres évènements si besoin...

Bonne nuit
@+Thierry
 
P

pias

Guest
Bonsoir, Thierry et le Forum

Décidément je fais une erreur mais je ne la vois pas, alors j'ai mis en fichier joint un aperçu de se que j'aimerais faire, En espérant que quelqu'un trouve la solution.

Elle ne doit pas être difficile après l'aide de Thierry...! mais parfois on n'y voit rien...! Pour pas dire autre chose.

Merci d'avance
a+
@pias
 
@

@+Thierry

Guest
Bonsoir Pias, le Forum

Tu n'as pas mis le code dans le Private Module de la Feuille en question comme je te l'avais dit mais dans Private Module du UserForm !

Non il faut mettre le code dans le Private Module de Feuille (Sheets) et pas UserForm (je sais qu'en français sur XL 2000 ces abrutis ont traduit le répertoire qui contient les Userform "Feuilles" AU LIEU DE UserForm !! c'est çà qui ne doit pas t'aider !

Maintenant en voyant ton fichier je comprends mieux ton idée ...

Voici le code qui fera que les valeurs des celulles A1,B1,C1, s'affiche dans les 3 boutons respectifs du UserForm et aussi dans le cas où une des cellules est vide le bouton correspondant ne s'affichera pas...

PRIVATE MODULE DE FEUILLE
Option Explicit
Private Sub CommandButton1_Click()
Dim i As Byte

For i = 1 To 3
With UserForm1
If Me.Cells(1, i) = "" Then
.Controls("CommandButton" & i).Visible = False
Else
With .Controls("CommandButton" & i)
.Visible = True
.Caption = Cells(1, i).Value
End With
End If
End With
Next
UserForm1.Show
End Sub


Mais attention ceci est subordonné à ce que tu ne renommes pas les CommandButtons.

Par contre tu n'as pas besoin de faire :

PRIVATE MODULE DE USERFORM
Private Sub CommandButton1_Click()
'CommandButton1.Caption = Range("A1") NON inutile !
Call Macro1 'Non (enfin pourquoi ??? tu peux faire ta sélection de feuille là directement ici...?)
UserForm1.Hide 'Non enfin si tu n'as plus besoin du USF alors "Unload UserForm1"
End Sub

et là en Module Standard c'est quoi ?

Sub Macro1()
Sheets("Feuil1").Select
Application.Goto Reference:="Macro1" '????????? que veux tu faire ?????
End Sub

Car là tu sélectionnes le Module VB et la Macro1 ???

Enfin ptet quelque chose m'échappe !!
Bonne Nuit
@+Thierry
 
P

pias

Guest
Bonsoir Thierry, le Forum

Quoi dire de plus, sinon un grand merci.

J’ai pris note des remarques.
J'ai cherché les erreurs.
J'ai corrigé

Le code fonctionne.

C’est ça que est beau dans le forum !...
Bonne soirée et merci encore Thierry pour ta serviabilité .




"On ce lasse de tous, sauf d’apprendre…"
@pias
 
@

@+Thierry

Guest
Bonsoir pias, Bonsoir le Forum, Bonsoir à toi lecteur ou lectrice de ce post

Je suis heureux, mais vraiment heureux, chaque fois que le"courant passe" entre un demandeur et un répondeur (of course à plus forte raison quand c'est moi le répondeur !!)

En plus ces derniers jours c'est pas encore la St Thierry, (1er Juillet lol) mais quelques uns/unes d'entre vous me donnent la pêche !! et çà c'est super ! et je vous remercie vraiment du fond du coeur

Mais aussi, je veux dire que moi aussi j'apprends ici et comme vient de le dire pias que je commence à connaitre un chti peu par claviers et écrans interposés :

On ce lasse de tous, sauf d’apprendre

Lien supprimé...Lien supprimé...

Enfin Superbe !! merci
@+Thierry
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 779
Messages
2 092 046
Membres
105 168
dernier inscrit
makari69