ScrollBar cellule

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
lSteph
Le #5012301
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,
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)



Tr
Le #5012291
*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)


Tatanka
Le #5012271
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


""
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)





MichDenis
Le #5012261
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
'--------------------------





""
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)

Tatanka
Le #5012241
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"
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


""
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)









lSteph
Le #5012221
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,
*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)




Tr
Le #5012211
*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)


Tr
Le #5012181
*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)


lSteph
Le #5012171
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,
*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)




Tr
Le #5012161
*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é)


Publicité
Poster une réponse
Anonyme