Label Caption et Variable

Bonjour

Je suis assez gêné car sur internet le sujet est évoqué mais pour ma part, je n'ai pas réussi à le faire fontionner. :/

J'ai entré ceci :

Sub formulaire()

UserForm1.Show

Dim ws As Worksheets
Set ws = ThisWorkbook.Worksheets("Feuil1")
Dim i As Byte, z As Byte, y As Byte

y = InputBox("Numéro de l'élément dans la facture ?")

For i = 1 To 7 'Récupération des en tête
Controls("Label" & i).Caption = ws.Cells(i + 2, 2).Value
Next i

For z = 1 To 6 'Envoie des données par rapport aux cases cochées
If Controls("CheckBox" & z) = True Then
ws.Cells(z + 3, y + 3).Value = "Oui"
Else
ws.Cells(z + 3, y + 3).Value = "Non"
Next z

End Sub

C'est au "Control" que VBA me dit "Erreur de compilation : Sub ou Fonction non définie".

48label-caption.xlsm (24.02 Ko)

Dans mon contexte, je dois mettre en forme un choix (oui ou non) du coup, la case à cocher me semblait être pertinent.

Sachant que le tarif change d'année en année, d'où l'interêt qui se modifie lui même.

J'ai dans mon cas concret 77 références répartie sur plusieurs thématiques, j'ai utilisé la fonction du multi page dans mon User Form.

Dans la ligne rempli de données, il y a des cellules vides (entre les différentes thématiques), mais en soit, je ne pense pas que cela puise être un soucis.

Bien sûr, je vous mets le fichier exemple en description.

Je tenais aussi à remercier une nouvelle fois la communauté pour son aide aux débutants !!

Par rapport à mon premier poste, j'ai énorment appris !

Bonjour

Excel fait beaucoup de chose mais il est pas devin

Controls("Label" & i).Caption il doit le chercher où?

userform1.Controls("Label" & i).Caption

devrait résoudre ton problème

en fait il y a beaucoup d'erreur dans ton vba

les variables significatives auraient résolu beaucoup d'erreur: lig plutôt que y, col plutôt que x...

Pourquoi mettre des labels?

checkbox1.caption serait mieux...

44label-caption.xlsm (24.57 Ko)

A+ François

Formidable !

Du coup, je l'ai modifié :

Sub formulaire()

UserForm1.Show

Dim ws As Worksheets
Set ws = ThisWorkbook.Worksheets("Feuil1")
Dim i As Byte, z As Byte, y As Byte

y = InputBox("Numéro de l'élément dans la facture ?")

For i = 1 To 8 'Récupération des en tête (nom de la référence et son prix)
    UserForm1.Controls("Label" & i).Caption = ws.Cells(i + 2, 2).Value & " " & ws.Cells(i + 2, 3).Value
Next i

For z = 1 To 6 'Envoie des données par rapport aux cases cochées
    If UserForm1.Controls("CheckBox" & z).Value = True Then
        ws.Cells(z + 3, y + 3).Value = "Oui"
    Else
        ws.Cells(z + 3, y + 3).Value = "Non"
    End If

Next z

End Sub

Et désormais, il me dit "Incompatibilité de type".

Du coup, j'image que je me suis trompé sur une déclaration de variable ?

Salut Hamaterasu,
Salut fanfan,

Dim ws As Worksheets

Il ne faut pas de "s" à Worksheet !!


A+

Salut Curulis57 et Fanfan !

C'est incroyable, j'ai réussi !!

Vous m'avez plus qu'aider, merci énorment !!

Belle soirée à vous

Rechercher des sujets similaires à "label caption variable"