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

Groupe avec ScrollBar type xlScrollBar

7 réponses
Avatar
bcar
Bonjour,

j'essaye de grouper une scrollbar avec une image dans excel.
Je tiens à utiliser une scrollbar de contrôle de formulaire (avec une
activeX ça marche, il n'y a pas de problème)

j'ai donc une scrollbar nommée disons "SCBar1"
je lui affecte une macro
public sub test()
msgbox(Feuil1.ScrollBars("SCBar1").Value)
end sub

je fais bouger ma scrollbar et le message apparait avec la nouvelle
valeur. Bref, Tout marche très bien jusque là.

j'ajoute une image appelée "Image1"
je groupe "Image1" et "SCBar1"
(Selection des 2 objets puis click droit - Group - Grouper)
j'obtiens un group nommé "Group1"

j'essaye de faire défiler ma barre et là :
Feuil1.ScrollBars("SCBar1").Value échoue

Apparemment comme la scrollbar est groupée je ne peux plus y accéder
directement. Pas grave, je me dis que je vais passer par l'objet groupe

Feuil2.Shapes("Groupe 11").GroupItems(2).FormControlType
me donne 8 (xlScrollBar) donc c'est bien ma scrollbar

par contre impossible de faire
Feuil2.Shapes("Groupe 11").GroupItems(2).value

alors je me dis qu'un "cast" est nécessaire, du genre
dim sb as LeTypeQuiVaBien
set sb = Feuil2.Shapes("Groupe 11").GroupItems(2)
sb.value

seulement je ne sais pas quel est le type "LeTypeQuiVaBien" (je précise
que j'ai bien essayé Scrollbar pour voir mais que ce n'était apparemment
pas ça)

Comme je préférerais éviter de faire un dégrouper-lire la
valeur-regrouper, si quelqu'un à une idée pour accéder à la valeur de ma
scrollbar qui est groupée je lui en serais reconnaissant.

Merci

7 réponses

Avatar
bcar
Bon je me réponds à moi même,
en sélectionnant préalablement le groupe puis la barre de défilement
il est possible d'interroger la propriété value

ce qui donne :
Dim r As Range
Set r = Selection ' -- Sauvegarde la selection courante
Application.ScreenUpdating = False ' -- Evite le flicking
Feuil1.Shapes("MyGroup").Select
Feuil1.ScrollBars("MyScrollBar").Select
[A1] = Feuil1.ScrollBars("MyScrollBar").Value
Call r.Select
Application.ScreenUpdating = True

Mais je suis toujours preneur d'une méthode plus simple/immédiate

Le 02/03/2012 10:56, bcar a écrit :
Bonjour,

j'essaye de grouper une scrollbar avec une image dans excel.
Je tiens à utiliser une scrollbar de contrôle de formulaire (avec une
activeX ça marche, il n'y a pas de problème)

j'ai donc une scrollbar nommée disons "SCBar1"
je lui affecte une macro
public sub test()
msgbox(Feuil1.ScrollBars("SCBar1").Value)
end sub

je fais bouger ma scrollbar et le message apparait avec la nouvelle
valeur. Bref, Tout marche très bien jusque là.

j'ajoute une image appelée "Image1"
je groupe "Image1" et "SCBar1"
(Selection des 2 objets puis click droit - Group - Grouper)
j'obtiens un group nommé "Group1"

j'essaye de faire défiler ma barre et là :
Feuil1.ScrollBars("SCBar1").Value échoue

Apparemment comme la scrollbar est groupée je ne peux plus y accéder
directement. Pas grave, je me dis que je vais passer par l'objet groupe

Feuil2.Shapes("Groupe 11").GroupItems(2).FormControlType
me donne 8 (xlScrollBar) donc c'est bien ma scrollbar

par contre impossible de faire
Feuil2.Shapes("Groupe 11").GroupItems(2).value

alors je me dis qu'un "cast" est nécessaire, du genre
dim sb as LeTypeQuiVaBien
set sb = Feuil2.Shapes("Groupe 11").GroupItems(2)
sb.value

seulement je ne sais pas quel est le type "LeTypeQuiVaBien" (je précise
que j'ai bien essayé Scrollbar pour voir mais que ce n'était apparemment
pas ça)

Comme je préférerais éviter de faire un dégrouper-lire la
valeur-regrouper, si quelqu'un à une idée pour accéder à la valeur de ma
scrollbar qui est groupée je lui en serais reconnaissant.

Merci
Avatar
MichD
Bonjour,

Je ne suis pas certain d'avoir suivi ta démonstration, voici un fichier exemple :

Réalisé avec Excel 2010.
http://cjoint.com/?BCctGpfboMd


MichD
------------------------------------------
"bcar" a écrit dans le message de groupe de discussion : jiq5g5$5bo$

Bonjour,

j'essaye de grouper une scrollbar avec une image dans excel.
Je tiens à utiliser une scrollbar de contrôle de formulaire (avec une
activeX ça marche, il n'y a pas de problème)

j'ai donc une scrollbar nommée disons "SCBar1"
je lui affecte une macro
public sub test()
msgbox(Feuil1.ScrollBars("SCBar1").Value)
end sub

je fais bouger ma scrollbar et le message apparait avec la nouvelle
valeur. Bref, Tout marche très bien jusque là.

j'ajoute une image appelée "Image1"
je groupe "Image1" et "SCBar1"
(Selection des 2 objets puis click droit - Group - Grouper)
j'obtiens un group nommé "Group1"

j'essaye de faire défiler ma barre et là :
Feuil1.ScrollBars("SCBar1").Value échoue

Apparemment comme la scrollbar est groupée je ne peux plus y accéder
directement. Pas grave, je me dis que je vais passer par l'objet groupe

Feuil2.Shapes("Groupe 11").GroupItems(2).FormControlType
me donne 8 (xlScrollBar) donc c'est bien ma scrollbar

par contre impossible de faire
Feuil2.Shapes("Groupe 11").GroupItems(2).value

alors je me dis qu'un "cast" est nécessaire, du genre
dim sb as LeTypeQuiVaBien
set sb = Feuil2.Shapes("Groupe 11").GroupItems(2)
sb.value

seulement je ne sais pas quel est le type "LeTypeQuiVaBien" (je précise
que j'ai bien essayé Scrollbar pour voir mais que ce n'était apparemment
pas ça)

Comme je préférerais éviter de faire un dégrouper-lire la
valeur-regrouper, si quelqu'un à une idée pour accéder à la valeur de ma
scrollbar qui est groupée je lui en serais reconnaissant.

Merci
Avatar
pom...pom...pom..
Bonsour®

"bcar" a écrit
j'essaye de grouper une scrollbar avec une image dans excel.
Je tiens à utiliser une scrollbar de contrôle de formulaire (avec une
activeX ça marche, il n'y a pas de problème)



quel est le but ou la finalité ... ?
Avatar
bcar
Merci pour ton aide,

dans ton fichier la scrollbar n'est pas dans le groupe de l'image
(d’ailleurs je n'arrive pas à les grouper ensemble)

l'image est bien dans un groupe 3 (que je peux défaire), mais je ne sais
pas vraiment avec quoi elle est groupée

je ne peux donc pas grouper ton image avec la scrollbar, ni par le code
ni par l'interface graphique.

Peut être n'avais je pas précisé que mon image provenait de l'outil
"Photo" d'excel (là pas de problème pour grouper).

quand j'utilise la ligne
Feuil1.Shapes("Groupe 7").GroupItems(1).OLEFormat.Object.Value = 1
(j'ai actualisé avec un nouveau regroupement les valeurs)
j'obtiens toujours le messages "Impossible de définir la propriété Value
de la classe Scrollbar"

Bon de toute manière j'ai un autre problème qui apparait, lors d'un
regroupement entre une "Photo" Excel et un autre objet : la "Photo" ne
se resize pas "correctement" (au lieu de s'agrandir ou de se rétrécir en
fonction de la zone Photographié, l'image conserve la même taille et se
déforme pour s'adapter à cette taille (quelque soient les options
"Positionnement de l'objet" et "Echelle")

Ce problème étant nettement plus génant, j'ai laissé tombé l'idée du
Groupe et je vérifie/recalle bêtement dès que je peux la scrollbar à la
photo.

Le 02/03/2012 19:33, MichD a écrit :

Bonjour,

Je ne suis pas certain d'avoir suivi ta démonstration, voici un fichier exemple :

Réalisé avec Excel 2010.
http://cjoint.com/?BCctGpfboMd


MichD
------------------------------------------
"bcar" a écrit dans le message de groupe de discussion : jiq5g5$5bo$

Bonjour,

j'essaye de grouper une scrollbar avec une image dans excel.
Je tiens à utiliser une scrollbar de contrôle de formulaire (avec une
activeX ça marche, il n'y a pas de problème)

j'ai donc une scrollbar nommée disons "SCBar1"
je lui affecte une macro
public sub test()
msgbox(Feuil1.ScrollBars("SCBar1").Value)
end sub

je fais bouger ma scrollbar et le message apparait avec la nouvelle
valeur. Bref, Tout marche très bien jusque là.

j'ajoute une image appelée "Image1"
je groupe "Image1" et "SCBar1"
(Selection des 2 objets puis click droit - Group - Grouper)
j'obtiens un group nommé "Group1"

j'essaye de faire défiler ma barre et là :
Feuil1.ScrollBars("SCBar1").Value échoue

Apparemment comme la scrollbar est groupée je ne peux plus y accéder
directement. Pas grave, je me dis que je vais passer par l'objet groupe

Feuil2.Shapes("Groupe 11").GroupItems(2).FormControlType
me donne 8 (xlScrollBar) donc c'est bien ma scrollbar

par contre impossible de faire
Feuil2.Shapes("Groupe 11").GroupItems(2).value

alors je me dis qu'un "cast" est nécessaire, du genre
dim sb as LeTypeQuiVaBien
set sb = Feuil2.Shapes("Groupe 11").GroupItems(2)
sb.value

seulement je ne sais pas quel est le type "LeTypeQuiVaBien" (je précise
que j'ai bien essayé Scrollbar pour voir mais que ce n'était apparemment
pas ça)

Comme je préférerais éviter de faire un dégrouper-lire la
valeur-regrouper, si quelqu'un à une idée pour accéder à la valeur de ma
scrollbar qui est groupée je lui en serais reconnaissant.

Merci

Avatar
bcar
Le 02/03/2012 19:52, pom...pom...pom.. a écrit :
Bonsour®

"bcar" a écrit
j'essaye de grouper une scrollbar avec une image dans excel.
Je tiens à utiliser une scrollbar de contrôle de formulaire (avec une
activeX ça marche, il n'y a pas de problème)



quel est le but ou la finalité ... ?





Bonjour,

la finalité de quoi ?

- de grouper : par exemple que l'utilisateur puisse déplacer le contrôle
d'un seul bloc

- de ne pas utiliser la scrollbar activeX : surtout une histoire
d'esthétique globale (super justification j'en conviens mais c'est comme ça)

De toute façon, il y a un problème de redimensionnement des "Photo"
Excel à l'intérieur d'un groupe comme je l'expliquais dans ma réponse à
MichD, donc je vais être obligé de contourner le problème...
Avatar
MichD
| dans ton fichier la scrollbar n'est pas dans le groupe de l'image
| (d’ailleurs je n'arrive pas à les grouper ensemble)

**** Ce fichier a été réalisé avec Excel 2010 et je peux t'assurer que lorsque j'ouvre le fichier,
la scrollbar et l'image sont groupées.

***** Et les lignes de code soumises sont fonctionnelles aussi.

Quelle est ta version d'Excel ?

Est-ce que d'autres usagers du forum peuvent ouvrir le fichier et confirmer ou infirmer tes observations ?
Avatar
bcar
Le 05/03/2012 12:55, MichD a écrit :
| dans ton fichier la scrollbar n'est pas dans le groupe de l'image
| (d’ailleurs je n'arrive pas à les grouper ensemble)

**** Ce fichier a été réalisé avec Excel 2010 et je peux t'assurer que lorsque j'ouvre le fichier,
la scrollbar et l'image sont groupées.

***** Et les lignes de code soumises sont fonctionnelles aussi.

Quelle est ta version d'Excel ?

Est-ce que d'autres usagers du forum peuvent ouvrir le fichier et confirmer ou infirmer tes observations ?




Je viens d'essayer ton fichier sous excel 2010 et effectivement cela
fonctionne parfaitement (code et interface).

Pour ma part je dois (pas que j'en doute hein, j'en ai l'obligation ;)
) utiliser un excel 2007 et effectivement même le déplacement du groupe
de ton fichier aboutit au déplacement d'un seul élément.

Donc apparemment, ce serait un bug qui a été corrigé dans la dernière
version