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

ScrollBar cellule

16 réponses
Avatar
Tr
Bonjour à tous,

j'ai un scrollbar qui met à jour une cellule, jusqu'ici tout va bien.
la suite?
j'aimerais que, lorsque je mets à jour la cellule à la main ou via VBA,
le scrollbar reflète la nouvelle valeur...
et là, ben, merci à vous :-) pour vos futures pistes...

--
L'intelligence ne se défend pas, elle se constate. (Réflexion)
tranquille.xav@free.fr

10 réponses

1 2
Avatar
lSteph
Bonjour Xavier,

S'agissant d'un ScrollBar.. de la BO VBA
si j'ai bien compris, c'est normalement déjà le cas. Toutefois, il
faut pour que que cela corresponde, soit que la valeur saisie dans la
cellule se situe entre Min et MAx
(Clique sur l'equerre bleue dans la BO VB)
sur l'objet clic droit Fenêtre propriété
la valeur recommandée est un integer
soit comprise entre + ou - 32767

tu peux néanmoins augmenter cette valeur, la visibilité de l'effet sur
la barre dépendra de l'echelle de valeur choisie par rapport aux
bornes Min et Max
referme la fenêtre propriétés
(et reClique sur l'equerre bleue dans la BO VB)

Essaie.

Cordialement.

--
lSteph

On 31 oct, 14:38, wrote:
Bonjour à tous,

j'ai un scrollbar qui met à jour une cellule, jusqu'ici tout va bien.
la suite?
j'aimerais que, lorsque je mets à jour la cellule à la main ou via VB A,
le scrollbar reflète la nouvelle valeur...
et là, ben, merci à vous :-) pour vos futures pistes...

--
L'intelligence ne se défend pas, elle se constate. (Réflexion)



Avatar
Tr
*Ecrit* *par* **:
Bonjour à tous,

j'ai un scrollbar qui met à jour une cellule, jusqu'ici tout va bien.
la suite?
j'aimerais que, lorsque je mets à jour la cellule à la main ou via VBA, le
scrollbar reflète la nouvelle valeur...
et là, ben, merci à vous :-) pour vos futures pistes...


complément:
j'essaie la propriété linkedcell qui semble être la bonne, mais je
n'arrive pas à y mettre une référence de cellule, elle n'accepte
rien...
où est mon erreur?
merci d'avance.

--
C'est le passage à l'acte qui fait le fou. (Conclusion)


Avatar
Tatanka
Bonjour Tranquille,

Essaie ceci :

Private Sub ScrollBar1_Change()
[c1] = ScrollBar1
End Sub

Private Sub UserForm_Initialize()
Me.ScrollBar1 = [a1]
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a1]) Is Nothing Then UserForm1.ScrollBar1 = [a1]
End Sub

Serge


"" a écrit dans le message de news:
Bonjour à tous,

j'ai un scrollbar qui met à jour une cellule, jusqu'ici tout va bien.
la suite?
j'aimerais que, lorsque je mets à jour la cellule à la main ou via VBA, le scrollbar reflète la nouvelle valeur...
et là, ben, merci à vous :-) pour vos futures pistes...

--
L'intelligence ne se défend pas, elle se constate. (Réflexion)





Avatar
MichDenis
Tu copies ce qui suit dans le module feuille où est ton scrollbar

Évidemment, tu devras définir la valeur minimale et la valeur maximale
du contrôle de la façon appropriée.

Si ton scrollbar émane de la barre d'outils "Contrôle"
'--------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = Range("A1").Address Then
If IsNumeric(Range("A1")) Then
Me.ScrollBar1.Value = Range("A1").Value
End If
End If
End Sub


Si ton scrollbar émane de la barre d'outils "Formulaire"
'--------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("A1").Address Then
If IsNumeric(Range("A1")) Then
Me.Shapes("Barre de défilement 1"). _
OLEFormat.Object.Value = Range("A1").Value
End If
End If

End Sub
'--------------------------





"" a écrit dans le message de news:

Bonjour à tous,

j'ai un scrollbar qui met à jour une cellule, jusqu'ici tout va bien.
la suite?
j'aimerais que, lorsque je mets à jour la cellule à la main ou via VBA,
le scrollbar reflète la nouvelle valeur...
et là, ben, merci à vous :-) pour vos futures pistes...

--
L'intelligence ne se défend pas, elle se constate. (Réflexion)

Avatar
Tatanka
D'après ce que je viens de lire, il s'agit d'une barre de défilement
de la boîte à outils contrôles installée sur une feuille de calcul.
Dans ce cas, en mode Création (premier bouton à gauche dans la barre
d'outils contrôles) , fais un clic droit sur ta barre, clique sur Propriétés,
double-clique sur LinkedCell et entre, par exemple, a1.
Ensuite, enlève le Mode création et tout devrait fonctionner.
Au Québec aucun problème.
Dans ma réponse précédente, je supposais que tu utilisais une
barre de défilement dans un UserForm et il y avait une coquille :
il faut remplacer [c1] par [a1] ici :
Private Sub UserForm_Initialize()
Me.ScrollBar1 = [a1]
End Sub

Serge


"Tatanka" a écrit dans le message de news: exX%
Bonjour Tranquille,

Essaie ceci :

Private Sub ScrollBar1_Change()
[c1] = ScrollBar1
End Sub

Private Sub UserForm_Initialize()
Me.ScrollBar1 = [a1]
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a1]) Is Nothing Then UserForm1.ScrollBar1 = [a1]
End Sub

Serge


"" a écrit dans le message de news:
Bonjour à tous,

j'ai un scrollbar qui met à jour une cellule, jusqu'ici tout va bien.
la suite?
j'aimerais que, lorsque je mets à jour la cellule à la main ou via VBA, le scrollbar reflète la nouvelle valeur...
et là, ben, merci à vous :-) pour vos futures pistes...

--
L'intelligence ne se défend pas, elle se constate. (Réflexion)









Avatar
lSteph
ta scrollbar étant dans la feuille
dans linkedcell Fenêtre des propriétés
tu mets a1
par exemple
En code VBE

ScrollBar1.linkedcell="a1"


On 31 oct, 15:38, wrote:
*Ecrit* *par* **:

Bonjour à tous,
j'ai un scrollbar qui met à jour une cellule, jusqu'ici tout va bien.
la suite?
j'aimerais que, lorsque je mets à jour la cellule à la main ou via VBA, le
scrollbar reflète la nouvelle valeur...
et là, ben, merci à vous :-) pour vos futures pistes...


complément:
j'essaie la propriété linkedcell qui semble être la bonne, mais je
n'arrive pas à y mettre une référence de cellule, elle n'accepte
rien...
où est mon erreur?
merci d'avance.

--
C'est le passage à l'acte qui fait le fou. (Conclusion)




Avatar
Tr
*Ecrit* *par* *MichDenis*:
Tu copies ce qui suit dans le module feuille où est ton scrollbar

Évidemment, tu devras définir la valeur minimale et la valeur maximale
du contrôle de la façon appropriée.

Si ton scrollbar émane de la barre d'outils "Contrôle"
'--------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = Range("A1").Address Then
If IsNumeric(Range("A1")) Then
Me.ScrollBar1.Value = Range("A1").Value
End If
End If
End Sub


bon, ok, merci à tous, différentes techniques fonctionnent, je ne sais
pas pourquoi mais linkedcell s'est mis à fonctionner après avoir enlevé
puis remis le contrôle.
bref.

mon problème en fait, c'est que j'ai dans la cellule un nombre à
virgule qui varie entre 0.01 et 1.4
le contrôle scrollbar refuse les valeurs à virgule, je mets donc des
valeurs *100, et lorsque je clique sur le contrôle, la cellule est bien
mise à jour avec la valeur du contrôle /100

avec linkedcell on voit le passage de 100 à /100, c'est pas /net/ ...
sans linkedcell ça marche nickel dans un seul sens.

comment faire donc pour gérer correctement les nombres à virgules avec
un scroll ou un autre contrôle pourquoi pas?

--
Haro sur la langue de bois! (Politique)


Avatar
Tr
*Ecrit* *par* *Tatanka*:
D'après ce que je viens de lire, il s'agit d'une barre de défilement
de la boîte à outils contrôles installée sur une feuille de calcul.
Dans ce cas, en mode Création (premier bouton à gauche dans la barre
d'outils contrôles) , fais un clic droit sur ta barre, clique sur Propriétés,
double-clique sur LinkedCell et entre, par exemple, a1.
Ensuite, enlève le Mode création et tout devrait fonctionner.
Au Québec aucun problème.
Dans ma réponse précédente, je supposais que tu utilisais une
barre de défilement dans un UserForm et il y avait une coquille :
il faut remplacer [c1] par [a1] ici :
Private Sub UserForm_Initialize()
Me.ScrollBar1 = [a1]
End Sub

Serge


ok, j'ai tout bien lu, ça aurait du marcher, c'est ce que j'avais fait
en premier le linkedcell, mais y devait y avoir un problème sur mon
contrôle etc...
bref, j'ai posté un complément sur les nombres à virgule, dans le même
fil, si tu peux voir...
merci d'avance.

--
C'est le passage à l'acte qui fait le fou. (Conclusion)


Avatar
lSteph
Exemple:

En A2
²/100

linkedcell b2

Quand tu veux modifier la cellule c'est b2
exemple tu veux 0,71 en a2 tu entres 71 en b2

--

lSteph

On 31 oct, 16:17, wrote:
*Ecrit* *par* *MichDenis*:

Tu copies ce qui suit dans le module feuille où est ton scrollbar
Évidemment, tu devras définir la valeur minimale et la valeur maxim ale
du contrôle de la façon appropriée.
Si ton scrollbar émane de la barre d'outils "Contrôle"
'--------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = Range("A1").Address Then
If IsNumeric(Range("A1")) Then
Me.ScrollBar1.Value = Range("A1").Value
End If
End If
End Sub


bon, ok, merci à tous, différentes techniques fonctionnent, je ne sais
pas pourquoi mais linkedcell s'est mis à fonctionner après avoir enle vé
puis remis le contrôle.
bref.

mon problème en fait, c'est que j'ai dans la cellule un nombre à
virgule qui varie entre 0.01 et 1.4
le contrôle scrollbar refuse les valeurs à virgule, je mets donc des
valeurs *100, et lorsque je clique sur le contrôle, la cellule est bien
mise à jour avec la valeur du contrôle /100

avec linkedcell on voit le passage de 100 à /100, c'est pas /net/ ...
sans linkedcell ça marche nickel dans un seul sens.

comment faire donc pour gérer correctement les nombres à virgules avec
un scroll ou un autre contrôle pourquoi pas?

--
Haro sur la langue de bois! (Politique)




Avatar
Tr
*Ecrit* *par* *lSteph*:
Exemple:

En A2
²/100

linkedcell b2

Quand tu veux modifier la cellule c'est b2
exemple tu veux 0,71 en a2 tu entres 71 en b2


oui, j'avais pensé à utiliser un truc comme ça, mais ça signifie que
pour un utilisateur, la saisie et la visu ne se font pas au même
endroit avec les mêmes valeurs, c'est pas très ergonomique :-)
désolé...

--
Pas d'bras, pas d'chocolat! (tronqué)


1 2