OVH Cloud OVH Cloud

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

3 réponses

1 2
Avatar
LSteph
Bonjour,

Certes comme dit MD on ne va pas tout revoir mais evite déjà les
inutiles
Patati.select
selection.fairececi
ensuite assure toi de la compatibilité avec les autres versions
notament celles pour la plupart
entre 97 et 2003 car nombreux n'ont pas tous franchi le pas pour 2007
dont les aficionados d'un long parcours avec un excel plus familier.
J'ai qd même pu ouvrir ton classeur en l'enregistrant au format .xlsm,
mais nombre de controles et options de TCD entre autres ne sont pas
utilisables, même avec la mise a jour de compatibilité pour 2003
Alors voici ce que je mettrai dejà pour répondre à ta question.
Sachant qu'au vu de ce que tu as disposé dans ton UF Visiotest ,
l'initialize devra certainement être beaucoup plus etayé.

'''''
Private Sub SpinButton1_Change()
With Visiotest
.Te_AttribChi.Value = Sheets("Visio").Range("x" & SpinButton1)
.Te_AttribChj.Value = Sheets("Visio").Range("y" & SpinButton1)
End With

End Sub

Private Sub UserForm_Initialize()

With SpinButton1
.Min = 15
.Max = Feuil1.[a65536].End(xlUp).Row
.Value = .Min
End With
End Sub
'''''

'lSteph


On 4 jan, 15:58, Dominique wrote:
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 co de:

 > 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
Merci MichDenis pour tes conseils

Voila ca marche

Il faut penser a mettre dans la propriété du spinbutton la meme valeur
que dans le code d initialisation.

Private Sub SpinButton1_Change()

With Worksheets("Visio")

Me.Controls("Te_AttribChi") = .Cells(Me.SpinButton1.Value, 24)
Me.Controls("Te_AttribChj") = .Cells(Me.SpinButton1.Value, 25)

End With
End Sub



Private Sub UserForm_Initialize()
Dim DerLig As Integer, A As Integer

With Worksheets("Visio")
DerLig = .Range("A65536").End(xlUp).Row
End With

With Me.SpinButton1
.Min = 15 'débute à la 15ième ligne
.Max = DerLig 'Dernière ligne que peut afficher les textbox
.Value = 15 'meme chose dans propriété
End With

End Sub

merci pour votre aide
Avatar
Dominique
merci pour tes conseils Lsteph et pour le temps passé
bonne soirée
1 2