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

Bouton toupie sur userform

13 réponses
Avatar
Dominique
Bonjour et tous mes vœux au forum,

J'ai un Userform (Visiotest) dans lequel un bouton toupie dois remplir
les différents textbox selon la feuille (Visio) à partir de la ligne 15.

J'ai réalisè cette macro mais j ai une erreur sur la ligne
.Te_AttribChi.Value = Sheets("Visio").Range("x" & l)
Voici mon code

Private Sub SpinButton1_SpinDown()
If l > 14 Then l = l + 1
With Visiotest
.Te_AttribChi.Value = Sheets("Visio").Range("x" & l)
.Te_AttribChj.Value = Sheets("Visio").Range("y" & l)
End With

End Sub

Merci pour votre aide

10 réponses

1 2
Avatar
michdenis
Bonjour,

| .Te_AttribChi.Value = Sheets("Visio").Range("x" & l)

Te_AttribChi : Est-ce ton textbox ou ton spinbutton ?

Si tu veux attribuer le texte d'une cellule vers un textbox,
Explique moi pourquoi tu veux passer par un spinbutton
et comment cela s'articule dans ta procédure... ce n'est pas
très clair pour moi.




"Dominique" a écrit dans le message de groupe de discussion :

Bonjour et tous mes vœux au forum,

J'ai un Userform (Visiotest) dans lequel un bouton toupie dois remplir
les différents textbox selon la feuille (Visio) à partir de la ligne 15.

J'ai réalisè cette macro mais j ai une erreur sur la ligne
.Te_AttribChi.Value = Sheets("Visio").Range("x" & l)
Voici mon code

Private Sub SpinButton1_SpinDown()
If l > 14 Then l = l + 1
With Visiotest
.Te_AttribChi.Value = Sheets("Visio").Range("x" & l)
.Te_AttribChj.Value = Sheets("Visio").Range("y" & l)
End With

End Sub

Merci pour votre aide
Avatar
Dominique
Le 04/01/2010 13:52, michdenis a écrit :
Bonjour,

| .Te_AttribChi.Value = Sheets("Visio").Range("x"& l)

Te_AttribChi : Est-ce ton textbox ou ton spinbutton ?

Si tu veux attribuer le texte d'une cellule vers un textbox,
Explique moi pourquoi tu veux passer par un spinbutton
et comment cela s'articule dans ta procédure... ce n'est pas
très clair pour moi.




"Dominique" a écrit dans le message de groupe de discussion :

Bonjour et tous mes vœux au forum,

J'ai un Userform (Visiotest) dans lequel un bouton toupie dois remplir
les différents textbox selon la feuille (Visio) à partir de la ligne 15.

J'ai réalisè cette macro mais j ai une erreur sur la ligne
.Te_AttribChi.Value = Sheets("Visio").Range("x"& l)
Voici mon code

Private Sub SpinButton1_SpinDown()
If l> 14 Then l = l + 1
With Visiotest
.Te_AttribChi.Value = Sheets("Visio").Range("x"& l)
.Te_AttribChj.Value = Sheets("Visio").Range("y"& l)
End With

End Sub

Merci pour votre aide



Bonjour MichDenis
Par exemple le textbox Te_AttribCh de l'userform Visiotest doit se
remplir avec les données de la range (x15) de la feuille Visio la
première fois puis ensuite x16, etc a chaque fois que je clic sur la toupie.
il y a une 30aine de textbox dans l userform, je n ai mis que 2 dans
l'exemple.
Mon userform va me servir à visionner certaines cellules d une ligne et
a chaque clic je passe a la ligne suivante (de la ligne 15 à la
derniere) de la feuille Visio.

Merci pour votre aide
Avatar
Modeste
Bonsour® Dominique avec ferveur ;o))) vous nous disiez :

J'ai un Userform (Visiotest) dans lequel un bouton toupie dois
remplir
les différents textbox selon la feuille (Visio) à partir de la ligne
15.





Private Sub SpinButton1_SpinDown()
dim I as integer
I + me.spinbutton1.value
me.Te_AttribChi.Value = Sheets("Visio").Range("x"& l)
me.Te_AttribChj.Value = Sheets("Visio").Range("y"& l)
End Sub


encore faut-il avoir fixé à la conception les bornes(Min(0?) et Max) du Spinbutton
Avatar
LSteph
Bonjour,

Si j'ai bien compris ton spinbutton veut déterminer deux cellules
situées à la ligne I ( variable de type et surtout de portee non
définie explicitement, du moins pas dans le peu que tu nous montre,
l'as tu ailleurs en Public)
et en colonnes x et y
Ces cellules contenant une valeur de texte à affecter au textbox
nommés Te_AttribChi et ..j
(pourquoi .value)

Je rejoindrai donc MD car on se demande aussi comment est fixée la
valeur de I et où cela s'articule-t-il?
Pourquoi cette instruction
If l > 14 Then l = l + 1
t'auras beau rajouter 1 à i s'il est déjà supérieur à 14
une fois +1 ajouté, i sera toujours supérieur à 14
s'il ne l'est pas rien n'y changera.

Sinon selon toute hypothèse tu pourrais fixer les propriétés du
spinbutton min à 15 et au besoin max à la limite de ton tableau et
utiliser cette valeur précisément pour déterminer la ligne que doiven t
prendre les cellules situées en colonne x et y. (voir exemple plus bas
avec colonnes b et c dans une plage nommée montab)

Donne le code complet ou même mets ton classeur en http://cjoint.com
on y verra plus clair.

--
lSteph

Exemple:

Private Sub SpinButton1_Change()
TextBox1 = [montab].Cells(SpinButton1.Value, 1)
TextBox2 = [montab].Cells(SpinButton1.Value, 2)
End Sub

Private Sub UserForm_Initialize()
ThisWorkbook.Names.Add "montab", ":C4"
With SpinButton1
.Min = 1
.Max = 3
.Value = .Min
End With
End Sub


On 4 jan, 13:04, Dominique wrote:
Bonjour et tous mes vœux au forum,

J'ai un Userform (Visiotest) dans lequel un bouton toupie dois remplir
les différents textbox selon la feuille (Visio) à partir de la ligne 15.

J'ai réalisè cette macro mais j ai une erreur sur la ligne
.Te_AttribChi.Value = Sheets("Visio").Range("x" & l)
Voici mon code

Private Sub SpinButton1_SpinDown()
If l > 14 Then l = l + 1
With Visiotest
.Te_AttribChi.Value = Sheets("Visio").Range("x" & l)
.Te_AttribChj.Value = Sheets("Visio").Range("y" & l)
End With

End Sub

Merci pour votre aide


Avatar
michdenis
Je t'ai fait un petit exemple comment cela peut être utilisé !

http://cjoint.com/?bepb5xEgmN



"Dominique" a écrit dans le message de groupe de discussion :

Le 04/01/2010 13:52, michdenis a écrit :
Bonjour,

| .Te_AttribChi.Value = Sheets("Visio").Range("x"& l)

Te_AttribChi : Est-ce ton textbox ou ton spinbutton ?

Si tu veux attribuer le texte d'une cellule vers un textbox,
Explique moi pourquoi tu veux passer par un spinbutton
et comment cela s'articule dans ta procédure... ce n'est pas
très clair pour moi.




"Dominique" a écrit dans le message de groupe de discussion :

Bonjour et tous mes vœux au forum,

J'ai un Userform (Visiotest) dans lequel un bouton toupie dois remplir
les différents textbox selon la feuille (Visio) à partir de la ligne 15.

J'ai réalisè cette macro mais j ai une erreur sur la ligne
.Te_AttribChi.Value = Sheets("Visio").Range("x"& l)
Voici mon code

Private Sub SpinButton1_SpinDown()
If l> 14 Then l = l + 1
With Visiotest
.Te_AttribChi.Value = Sheets("Visio").Range("x"& l)
.Te_AttribChj.Value = Sheets("Visio").Range("y"& l)
End With

End Sub

Merci pour votre aide



Bonjour MichDenis
Par exemple le textbox Te_AttribCh de l'userform Visiotest doit se
remplir avec les données de la range (x15) de la feuille Visio la
première fois puis ensuite x16, etc a chaque fois que je clic sur la toupie.
il y a une 30aine de textbox dans l userform, je n ai mis que 2 dans
l'exemple.
Mon userform va me servir à visionner certaines cellules d une ligne et
a chaque clic je passe a la ligne suivante (de la ligne 15 à la
derniere) de la feuille Visio.

Merci pour votre aide
Avatar
michdenis
Comme j'ai omis de mettre un bouton sur la feuille pour
charger le formulaire, tu devras ouvrir la fenêtre de l'éditeur
de code et lancer manuellement le formulaire !
Avatar
LSteph
...en complément: http://cjoint.com/?bepjANNLPD


On 4 jan, 15:00, LSteph wrote:
Bonjour,

Si j'ai bien compris ton spinbutton veut déterminer deux cellules
situées à la ligne I ( variable de type et surtout de portee non
définie explicitement, du moins pas dans le peu que tu nous montre,
l'as tu ailleurs en Public)
et en colonnes x et y
Ces cellules contenant une valeur de texte à affecter au textbox
nommés Te_AttribChi et ..j
(pourquoi .value)

Je rejoindrai donc MD car on se demande aussi comment est fixée la
valeur de I et où cela s'articule-t-il?
Pourquoi cette instruction
If l > 14 Then l = l + 1
 t'auras beau rajouter 1 à i s'il est déjà supérieur à 14
une fois +1 ajouté,  i sera toujours supérieur à 14
s'il ne l'est pas rien n'y changera.

Sinon selon toute hypothèse tu pourrais fixer les propriétés du
spinbutton  min à 15 et au besoin max à la limite de ton tableau et
utiliser cette valeur précisément pour déterminer la ligne que doiv ent
prendre les cellules situées en colonne x et y. (voir exemple plus bas
avec colonnes b et c dans une plage nommée montab)

Donne le code complet ou même mets ton classeur enhttp://cjoint.com
on y verra plus clair.

--
lSteph

Exemple:

Private Sub SpinButton1_Change()
TextBox1 = [montab].Cells(SpinButton1.Value, 1)
TextBox2 = [montab].Cells(SpinButton1.Value, 2)
End Sub

Private Sub UserForm_Initialize()
ThisWorkbook.Names.Add "montab", ":C4"
With SpinButton1
.Min = 1
.Max = 3
.Value = .Min
End With
End Sub

On 4 jan, 13:04, Dominique wrote:



> Bonjour et tous mes vœux au forum,

> J'ai un Userform (Visiotest) dans lequel un bouton toupie dois remplir
> les différents textbox selon la feuille (Visio) à partir de la lign e 15.

> J'ai réalisè cette macro mais j ai une erreur sur la ligne
> .Te_AttribChi.Value = Sheets("Visio").Range("x" & l)
> Voici mon code

> Private Sub SpinButton1_SpinDown()
> If l > 14 Then l = l + 1
> With Visiotest
> .Te_AttribChi.Value = Sheets("Visio").Range("x" & l)
> .Te_AttribChj.Value = Sheets("Visio").Range("y" & l)
> End With

> End Sub

> Merci pour votre aide- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Dominique
Voici le fichier

http://cjoint.com/?bepYduy64e

cliqué sur le bouton visionneuse de la feuille visio
j ai reussi a faire descendre les informations dans les texbox avec ce code:


> Private L As Byte
> Private Sub SpinButton1_SpinDown()
>
>
> If L > 15 Then
> Else: L = 15
> End If
>
> With Visiotest
> .Te_AttribChi.Value = Sheets("Visio").Range("x" & L)
> .Te_AttribChj.Value = Sheets("Visio").Range("y" & L)
> End With
> L = L + 1
>
> End Sub
mais comme je l ai vu sur vos exemples je voudrais aussi cliquer sur
le up pour pouvoir remonter à tout moment à la ligne précédente.
merci
Avatar
Dominique
Excusez chose importante le nombre de lignes est variable dans le
tableau pouvant aller de 5 à 150 lignes.
Avatar
michdenis
A ) si tu veux publier un fichier version Excel 2007, tu
dois le zipper... essaie d'ouvrir ton fichier à l'adresse
publiée et tu comprendras !

B ) Ceci est un forum d'entraide... à cet effet, tu as reçu
au moins 2 exemples concrets. Pour comprendre comment
cela fonctionne, ça vaut la peine que tu prennes quelque
minutes pour savoir comment le code s'articule !

C ) Si tu as des questions, on peut tenter d'y répondre mais
perso, je ne "débugge" pas des applications. Dans l'exemple
de ton code, tu as utilisé l'événement
Sub SpinButton1_SpinDown
Il faudrait que tu définisses l'événement Sub SpinButton1_SpinUp
Au lieu d'utiliser 2 procédures, tu peux en utiliser qu'une
Sub SpinButton1_Change comme dans le formulaire exemple.
1 2