Ecrire dans label

Le
Joël André
Bonjour,

Je reviens vers vous pour améliorer l'utilisation d'un userform.
Les conseils précédents (samedi) de Daniel.C et michdenis m'ont permis de
simplifier la macro.
J'essaie maintenant d'écrire dans des labels de cet userform, intitulé
ChoixFeuilleTravaux, avant que l'userform ne soit appelé et affiché.
Le label choisi est ciblé par la valeur de Pointeur2. Les labels sont nommés
Label1, Label2
Ce bout de code ne fonctionne pas :

With ChoixFeuilleTravaux.Controls("Label" & Pointeur2)
.Caption = TamponStockage
.ControlTipText = TamponStockage
End With

Où me suis-je planté?

Merci pour votre temps et vos conseils.

Cordialement.
Joël André
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #21503162
Bonjour,

Si tu veux modifier le contrôle "étiquette" (label) avant
que le formulaire s'affiche :


Dans un module standard :
En supposant que Pointeur2 est une variable contenant
l'index du contrôle "label" voulu...

'-------------------------------
Sub Test()

With ChoixFeuilleTravaux
With .Controls("Label" & Pointeur2)
.Caption = TamponStockage
.ControlTipText = TamponStockage
End With
.Show 0
End With
End Sub
'-------------------------------



"Joël André"
Bonjour,

Je reviens vers vous pour améliorer l'utilisation d'un userform.
Les conseils précédents (samedi) de Daniel.C et michdenis m'ont permis de
simplifier la macro.
J'essaie maintenant d'écrire dans des labels de cet userform, intitulé
ChoixFeuilleTravaux, avant que l'userform ne soit appelé et affiché.
Le label choisi est ciblé par la valeur de Pointeur2. Les labels sont nommés
Label1, Label2...
Ce bout de code ne fonctionne pas :

With ChoixFeuilleTravaux.Controls("Label" & Pointeur2)
.Caption = TamponStockage
.ControlTipText = TamponStockage
End With

Où me suis-je planté?

Merci pour votre temps et vos conseils.

Cordialement.
Joël André
Joël André
Le #21503732
Merci michdenis pour ta réponse rapide.
J'ai testé mais blocage sur "Controls" avec pour message "Erreur de
compilation, Sub ou fonction non définie".

Merci pour ta patience.
Joël André

"michdenis"
Bonjour,

Si tu veux modifier le contrôle "étiquette" (label) avant
que le formulaire s'affiche :


Dans un module standard :
En supposant que Pointeur2 est une variable contenant
l'index du contrôle "label" voulu...

'-------------------------------
Sub Test()

With ChoixFeuilleTravaux
With .Controls("Label" & Pointeur2)
.Caption = TamponStockage
.ControlTipText = TamponStockage
End With
.Show 0
End With
End Sub
'-------------------------------



"Joël André" discussion :

Bonjour,

Je reviens vers vous pour améliorer l'utilisation d'un userform.
Les conseils précédents (samedi) de Daniel.C et michdenis m'ont permis de
simplifier la macro.
J'essaie maintenant d'écrire dans des labels de cet userform, intitulé
ChoixFeuilleTravaux, avant que l'userform ne soit appelé et affiché.
Le label choisi est ciblé par la valeur de Pointeur2. Les labels sont
nommés
Label1, Label2...
Ce bout de code ne fonctionne pas :

With ChoixFeuilleTravaux.Controls("Label" & Pointeur2)
.Caption = TamponStockage
.ControlTipText = TamponStockage
End With

Où me suis-je planté?

Merci pour votre temps et vos conseils.

Cordialement.
Joël André


Daniel.C
Le #21503972
Bonsoir.
Ca fonctionne sans problème ici.
Daniel

Merci michdenis pour ta réponse rapide.
J'ai testé mais blocage sur "Controls" avec pour message "Erreur de
compilation, Sub ou fonction non définie".

Merci pour ta patience.
Joël André

"michdenis"
Bonjour,

Si tu veux modifier le contrôle "étiquette" (label) avant
que le formulaire s'affiche :


Dans un module standard :
En supposant que Pointeur2 est une variable contenant
l'index du contrôle "label" voulu...

'-------------------------------
Sub Test()

With ChoixFeuilleTravaux
With .Controls("Label" & Pointeur2)
.Caption = TamponStockage
.ControlTipText = TamponStockage
End With
.Show 0
End With
End Sub
'-------------------------------



"Joël André" discussion :

Bonjour,

Je reviens vers vous pour améliorer l'utilisation d'un userform.
Les conseils précédents (samedi) de Daniel.C et michdenis m'ont permis de
simplifier la macro.
J'essaie maintenant d'écrire dans des labels de cet userform, intitulé
ChoixFeuilleTravaux, avant que l'userform ne soit appelé et affiché.
Le label choisi est ciblé par la valeur de Pointeur2. Les labels sont
nommés
Label1, Label2...
Ce bout de code ne fonctionne pas :

With ChoixFeuilleTravaux.Controls("Label" & Pointeur2)
.Caption = TamponStockage
.ControlTipText = TamponStockage
End With

Où me suis-je planté?

Merci pour votre temps et vos conseils.

Cordialement.
Joël André


Joël André
Le #21505852
Super, tout fonctionne.
Merci michedenis.
L'anomalie de fonctionnement était liée à une erreur de ma part : j'avais
omis le point devant Controls.

Est-il possible de sauvegarder automatiquement la valeur dans le label pour
qu'elle rapparaisse lors d'un nouvel appel à plus ou moins long terme?

Merci pour vos conseils.

Amicalement
Joël André

"Joël André"
Bonjour,

Je reviens vers vous pour améliorer l'utilisation d'un userform.
Les conseils précédents (samedi) de Daniel.C et michdenis m'ont permis de
simplifier la macro.
J'essaie maintenant d'écrire dans des labels de cet userform, intitulé
ChoixFeuilleTravaux, avant que l'userform ne soit appelé et affiché.
Le label choisi est ciblé par la valeur de Pointeur2. Les labels sont
nommés Label1, Label2...
Ce bout de code ne fonctionne pas :

With ChoixFeuilleTravaux.Controls("Label" & Pointeur2)
.Caption = TamponStockage
.ControlTipText = TamponStockage
End With

Où me suis-je planté?

Merci pour votre temps et vos conseils.

Cordialement.
Joël André

michdenis
Le #21512382
| Est-il possible de sauvegarder automatiquement la valeur dans le label pour
| qu'elle rapparaisse lors d'un nouvel appel à plus ou moins long terme?

À très court terme, dans la même session de travail, tu peux employer
une variable "Public" que tu déclares dans un module standard. La
variable conservera sa valeur jusqu'au moment de la fermeture du classeur.

Si tu fermes temporairement le formulaire (userform), au lieu d'utiliser
la commande Unload Userform1, tu peux le masquer temporairement
en utilisant Userform1.Hide ce qui a pour effet que tous les contrôles
du formulaire conservent leur valeur lors de la manoeuvre.

Pour conserver une valeur au-delà d'une session de travail, fais appel
à des "Noms" (Insertion / nom / défini)

En VBA, cela se fait comme suit :
'Ajoute un nom avec la valeur désirée. False rend le nom inaccessible
à partir de l'interface de calcul, car il n'est pas visible dans la fenêtre
des noms.
Names.Add "MonNom", "MaValeur", False

'Et pour retrouver la valeur du nom, ceci:
X = [MonNom]
Joël André
Le #21513782
Grand merci michdenis.
Tout est clair, didactique et fonctionnel.
J'ai pu, de ce fait, notablement évoluer tant dans l'évolution du projet en
cours que dans la compréhension de certaine subtilité d'Excel.

Merci
Joël André

"michdenis"
| Est-il possible de sauvegarder automatiquement la valeur dans le label
pour
| qu'elle rapparaisse lors d'un nouvel appel à plus ou moins long terme?

À très court terme, dans la même session de travail, tu peux employer
une variable "Public" que tu déclares dans un module standard. La
variable conservera sa valeur jusqu'au moment de la fermeture du classeur.

Si tu fermes temporairement le formulaire (userform), au lieu d'utiliser
la commande Unload Userform1, tu peux le masquer temporairement
en utilisant Userform1.Hide ce qui a pour effet que tous les contrôles
du formulaire conservent leur valeur lors de la manoeuvre.

Pour conserver une valeur au-delà d'une session de travail, fais appel
à des "Noms" (Insertion / nom / défini)

En VBA, cela se fait comme suit :
'Ajoute un nom avec la valeur désirée. False rend le nom inaccessible
à partir de l'interface de calcul, car il n'est pas visible dans la
fenêtre
des noms.
Names.Add "MonNom", "MaValeur", False

'Et pour retrouver la valeur du nom, ceci:
X = [MonNom]




Publicité
Poster une réponse
Anonyme