Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[Résolu] Transfert valeur ListView vers SpinButton

Kim75

XLDnaute Occasionnel
Bonjour le forum,

J'essaye depuis le début de la semaine de résoudre ce problème mais je ne trouve pas la solution, le principe est d'activer un nombre de TextBox en fonction de la valeur d'un SpinButton

En actionnant le SpinButton, le nombre de TextBox activés correspond bien à la valeur affichée du SpinButton, l'action sur le SpinButton répond donc bien au but recherché initialement

Mais lorsque, au lieu d'être actionné, le SpinButton est alimenté par une valeur qu'il prend d'une ListView, tout est chamboulé, j'ai essayé de convertir la valeur de la ListView, mais en vain

Ce serait sympa si quelqu'un pourrait me dire ce qui ne va pas dans le transfert de la valeur de la ListView vers le SpinButton, je ne pense pas que la boucle soit mal ficelée puisque le SpinButton répond bien au but

Cordialement, Kim.
 

Pièces jointes

  • Test.xlsm
    54.6 KB · Affichages: 79

Dranreb

XLDnaute Barbatruc
Bonjour.

Pourquoi ne feriez vous pas tout simplement :
VB:
TextBox1.Value = SpinButton1.Value
    For i = 1 To 4
      With Me("Textbox" & i + 1)
         .Locked = i > SpinButton1.Value
         .BackColor = IIf(.Locked, &HE0E0E0, &H80000005)
         If .Locked Then .Text = ""
         End With: Next i
 

Kim75

XLDnaute Occasionnel
Hello Dranreb, Lone-wolf

Merci Dranreb pour le tuyau, je me doutais bien que c'était la boucle le coupable
Et dire que j'accusais le SpinButton et je ne sais quoi d'autre, vraiment merci,

Code:
Private Sub SpinButton1_Change()
    Dim i As Integer, j As Integer
    TextBox1.Value = SpinButton1.Value
    If SpinButton1.Value = 0 Then
        TextBox1.Value = ""
        TextBox1.Locked = True
        TextBox1.BackColor = &HE0E0E0
        For j = 2 To 5
            Me.Controls("TextBox" & j) = ""
            Me.Controls("TextBox" & j).Locked = True
            Me.Controls("TextBox" & j).BackColor = &HE0E0E0
        Next j
    Else
        TextBox1.BackColor = &H80000005
        For i = 1 To 4
            With Me("Textbox" & i + 1)
                .Locked = i > SpinButton1.Value
                .BackColor = IIf(.Locked, &HE0E0E0, &H80000005)
                If .Locked Then .Text = ""
            End With
        Next i
    End If
End Sub

Cordialement, Kim.
 

Discussions similaires

Réponses
12
Affichages
718
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…