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

remplissage par vba de valeur pré-saisie

11 réponses
Avatar
Bonjour

J'ai un userform avec de nombreux Label. (200)
J'ai une page excel nommée "liste" contenant dans les cellules A1 à A200 les
informations pré-saisie que je souhaiterais voir apparaitre dans la valeur
"caption" des labels.

Pouvez m'aider à automatiser cette saisie ?

Merci

10 réponses

1 2
Avatar
Daniel.C
Bonjour.
Est-ce que tes labels ont un nom séquentiel en rapport avec les
cellules
(par exempple : Label1 corespond à A1, Label2 correspond à A2 etc.)
Daniel

Bonjour

J'ai un userform avec de nombreux Label. (200)
J'ai une page excel nommée "liste" contenant dans les cellules A1 à A200 les
informations pré-saisie que je souhaiterais voir apparaitre dans la valeur
"caption" des labels.

Pouvez m'aider à automatiser cette saisie ?

Merci


Avatar
isabelle
bonjour stef,

Private Sub UserForm_Initialize()
For i = 1 To 200
Me.Controls("Label" & i).Caption = Range("Liste").Item(i)
Next
End Sub

isabelle

Le 2010-01-15 10:47, a écrit :
Bonjour

J'ai un userform avec de nombreux Label. (200)
J'ai une page excel nommée "liste" contenant dans les cellules A1 à A200 les
informations pré-saisie que je souhaiterais voir apparaitre dans la valeur
"caption" des labels.

Pouvez m'aider à automatiser cette saisie ?

Merci





Avatar
Tatanka
Bonsoir,

Peut-être quelque chose du genre (un exemple) :

Private Sub UserForm_Initialize()
For i = 1 To 6
Me.Controls("Label" & i).Caption = Cells(i, 1)
Next i
End Sub

Serge

a écrit dans le message de news:

Bonjour

J'ai un userform avec de nombreux Label. (200)
J'ai une page excel nommée "liste" contenant dans les cellules A1 à A200
les informations pré-saisie que je souhaiterais voir apparaitre dans la
valeur "caption" des labels.

Pouvez m'aider à automatiser cette saisie ?

Merci



Avatar
les labels ont des noms séquentiels label1, 2, 3...200
mais dans ce cas ils se référent à une liste de AU2 à AU201.

merci


"Daniel.C" a écrit dans le message de news:

Bonjour.
Est-ce que tes labels ont un nom séquentiel en rapport avec les cellules
(par exempple : Label1 corespond à A1, Label2 correspond à A2 etc.)
Daniel

Bonjour

J'ai un userform avec de nombreux Label. (200)
J'ai une page excel nommée "liste" contenant dans les cellules A1 à A200
les informations pré-saisie que je souhaiterais voir apparaitre dans la
valeur "caption" des labels.

Pouvez m'aider à automatiser cette saisie ?

Merci






Avatar
FdeCourt
Salut,

Si la réponse à Daniel est positive,alors dans le code
d'initialisation du formulaire :

Private Sub UserForm_Initialize()
Dim C As Control, a As Integer
For Each C In Me.Controls
If TypeName(C) = "Label" Then
C.Caption = Sheets("Feuil3").Range("A" & Replace(C.Name,
"Label", "")).Value
End If
Next
End Sub

Cordialement,

F.
Avatar
Tatanka
Ave,

Essaie ceci :

Private Sub UserForm_Initialize()
For i = 1 To 200
Me.Controls("Label" & i).Caption = Range("AU" & i + 1).Value
Next i
End Sub

Serge




a écrit dans le message de news:
OHF$
les labels ont des noms séquentiels label1, 2, 3...200
mais dans ce cas ils se référent à une liste de AU2 à AU201.

merci


"Daniel.C" a écrit dans le message de news:

Bonjour.
Est-ce que tes labels ont un nom séquentiel en rapport avec les cellules
(par exempple : Label1 corespond à A1, Label2 correspond à A2 etc.)
Daniel

Bonjour

J'ai un userform avec de nombreux Label. (200)
J'ai une page excel nommée "liste" contenant dans les cellules A1 à A200
les informations pré-saisie que je souhaiterais voir apparaitre dans la
valeur "caption" des labels.

Pouvez m'aider à automatiser cette saisie ?

Merci










Avatar
Merci à tous pour vos réponses mais j'ai commis une petite erreur lors de ma
demande et je m'en excuse.

Je souhaite en fait modifier les valeurs "caption" des labels du userform
définitivement pour sa création mais non lors de son utilisation.

A cet instant, je perd ces valeurs lors de la fermeture du formulaire
Merci
"Tatanka" a écrit dans le message de news:
%
Bonsoir,

Peut-être quelque chose du genre (un exemple) :

Private Sub UserForm_Initialize()
For i = 1 To 6
Me.Controls("Label" & i).Caption = Cells(i, 1)
Next i
End Sub

Serge

a écrit dans le message de news:

Bonjour

J'ai un userform avec de nombreux Label. (200)
J'ai une page excel nommée "liste" contenant dans les cellules A1 à A200
les informations pré-saisie que je souhaiterais voir apparaitre dans la
valeur "caption" des labels.

Pouvez m'aider à automatiser cette saisie ?

Merci







Avatar
michdenis
Bonjour,

Essaie ceci :

Tu devras bien sûr adapter le nom de la feuille où est
la liste des noms de même que la plage de cellules.
J'ai supposé que tu avais autant de nom que de Label !

'-----------------------------------------------
Sub test()
Dim MaForm As Object, A As Integer
Dim Rg As Range, i As Integer, X As Integer

With Worksheets("Feuil1")
Set Rg = .Range("A1:A20")
End With

Set MaForm = ThisWorkbook.VBProject.VBComponents("userform1")

With MaForm.Designer
X = .Controls.Count
For A = 0 To X - 1
If TypeName(.Controls(A)) = "Label" Then
i = 1 + 1
.Controls(A).Name = Rg(i).Value
End If
Next
End With
End Sub
'-----------------------------------------------



a écrit dans le message de groupe de discussion :

Bonjour

J'ai un userform avec de nombreux Label. (200)
J'ai une page excel nommée "liste" contenant dans les cellules A1 à A200 les
informations pré-saisie que je souhaiterais voir apparaitre dans la valeur
"caption" des labels.

Pouvez m'aider à automatiser cette saisie ?

Merci
Avatar
michdenis
Dans la procédure :
i = 1 + 1
On devrait lire : i = i +1
Avatar
Bonjour et merci pour cette solution

Cependant lors de l'execution j'ai un message <l'accès par programme au
projet vb n'est pas fiable>.

Un idée ? merci.


"michdenis" a écrit dans le message de news:

Dans la procédure :
i = 1 + 1
On devrait lire : i = i +1





1 2