Recherche nom SHAPES

ifi77

XLDnaute Occasionnel
Bonjour tout le monde,
une petite question qui semble très simple mais pour laquelle je tourne en rond depuis de nombreuses minutes.
Dans le fichier joint, je veux gérer la disponibilité de matériel au moyen d'un slider. Si le code est relativement simple, il fait référence à des shapes nommés. J'ai donc fait un simple copier coller, mais je n'arrive pas à trouver ou est nommé le SHAPES afin d'en créer un pou chaque matériel.
Pendant que j'y suis, je pensais créer un slider par ligne en le nommant "barre1, barre2... bouton1 bouton2... il existe peut être une solution plus simple sachant que je devrais avoir une cinquantaine de lignes par onglet et 6 onglets.

D'avance merci
 

Pièces jointes

  • Gestion matériel.xlsm
    17.8 KB · Affichages: 18

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

@ifi77
Pour info:
La macro affectée à ta Shape nommée Barre point sur:
'C:\Users\y******\Downloads\ExcelinSmartData - Création slider.xlsm'!Slider_Change

Sinon pour nommer une Shape, manuellement
1) Tu séléctionnes
2) Tu nommes dans la Zone Nom(au dessus de A1 à droite) et tu appuies sur Enter.
 

Staple1600

XLDnaute Barbatruc
Re

Il suffit d'affecter à la bonne macro (qui est présente dans ton classeur)
VB:
Sub Slider_Change()
If Range("ControleSlider").Value = 0 Then
'Slider en position OFF, bascule vers ON
    Sheets(1).Shapes("Barre").Fill.ForeColor.RGB = RGB(197, 225, 180) 'Remplissage de la barre en vert
    
    With Sheets(1).Shapes("Bouton")
        .Fill.ForeColor.RGB = RGB(84, 131, 53)                        'Remplissage du bouton en vert
        .IncrementLeft 80.6250393701                                          'Déplacement du bouton à droite
        .TextFrame2.TextRange.Text = "ON"                             'Changement du texte en ON
    End With
    
    Range("ControleSlider").Value = 1                                 'Valeur de la cellule contrôle à 1

Else
'Slider en position ON, bascule vers OFF

    Sheets(1).Shapes("Barre").Fill.ForeColor.RGB = RGB(236, 170, 170) 'Remplissage de la barre en rouge
    
    With Sheets(1).Shapes("Bouton")
        .Fill.ForeColor.RGB = RGB(192, 0, 0)                          'Remplissage du bouton en rouge
        .IncrementLeft -80.6250393701                                        'Déplacement du bouton à gauche
        .TextFrame2.TextRange.Text = "OFF"                            'Changement du texte en OFF
    End With
    
    Range("ControleSlider").Value = 0                                 'Valeur de la cellule contrôle à 0



End If
End Sub
 

ifi77

XLDnaute Occasionnel
Yes en effet, l'idée est de mettre disponible ou indisponible le matériel et accessoirement rendre cela ergonomique pour des personnes qui sont un peu rebutés par l'informatique...
Si tu as une autre solution je prends bien sur.
Et c'est vrai que je trouve cela assez sympa.
 
Haut Bas