Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ecrire dans label

6 réponses
Avatar
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é

6 réponses

Avatar
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é" a écrit dans le message de groupe de 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é
Avatar
Joël André
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" a écrit dans le message de news:

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é" a écrit dans le message de groupe de
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é


Avatar
Daniel.C
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" a écrit dans le message de news:

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é" a écrit dans le message de groupe de
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é


Avatar
Joël André
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é" a écrit dans le message de news:

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é

Avatar
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]
Avatar
Joël André
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" a écrit dans le message de news:

| 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]