Selection pour Groupes de Shapes

Fermé
tuxboy Messages postés 994 Date d'inscription lundi 23 juillet 2012 Statut Membre Dernière intervention 28 mai 2019 - 27 mai 2019 à 14:10
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 28 mai 2019 à 15:52
Bonjour à tous,

et merci par avance de vous pencher sur ce problème dont je joins un classeur pour exemple.

Ce classeur comporte des groupes de rectangles, dont le principal objectif est une duplication du groupe "GR". On sélectionne le groupe et on clique sur le rectangle DUPLIQUE. Chaque groupe est renommé.
Avec un code couleur, on voit bien que DUPLIQUE fonctionne pour le groupe sélectionné.

Mais je voudrais ne pas sélectionner de groupes et cliquer DUPLIQUE pour le groupe en cours.
Comment alors modifier la macro Aff() ?


Voici ci-joint le classeur : https://www.cjoint.com/c/IEBmbOPtSVt


Configuration: debian 6.05

2 réponses

Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
Modifié le 28 mai 2019 à 01:39
Bonjour,

désolé, je viens de tester et mon idée ne fonctionne pas :-(

Je propose une solution en utilisant l'option "Change" de la feuille.

i.e. En étant sur une feuille Excel, tu peux déterminer la position du clic
par les événements de la feuille.

donc en plaçant du code derrière la feuille, tu peux gérer la cellule.

Target est de type range et contient Target.Address

un select case sur l'adresse de chacun de tes boutons et tu y appelle la bonne méthode.

ex.:

Public Sub Worksheet_Change(ByVal Target As Range)

    Dim Plage As Range
    Dim Plage1 As Range
    Dim Plage2 As Range
    Dim Plage3 As Range

    Set Plage1 = Range("B3")
    Set Plage2 = Range("D3")
    Set Plage3 = Range(Bouton3) ' note pourrait être une cellule nommé


    Set Plage = Union(Plage1, Plage2, Plage3)
    
    If Not (Intersect(Target, Plage) Is Nothing) Then
        Select Case Target.Column
            ' Colonne B
            Case 2:
                Module1.Color1
            ' Colonne E
            Case 5:
                Module1.Color2
            ' Colonne I
            Case 9:
                Module1.Color3
        End Select
    End If
    

End Sub


L'autre option que je connais est d'attribuer l'événement sur le calcul
automatique de Excel en utilisant le Application.Volatile dans une function
affecté à une cellule.

Y comprends-tu quelques choses ?

K
0
tuxboy Messages postés 994 Date d'inscription lundi 23 juillet 2012 Statut Membre Dernière intervention 28 mai 2019 189
28 mai 2019 à 10:59
Bonjour Kalissi,

Merci pour ta réponse, mais ce n'est pas dans cette approche qu'une solution peut être trouvée. Il s'agit avant tout de groupe de SHAPES. Lorsqu'on affecte une macro à une Shape, elle n'est plus sélectionnable. Ainsi, je clique, je duplique directement. Comment est-ce faisable ?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
28 mai 2019 à 15:52
Bonjour,

j'ai essayé avec un raccourci clavier affecté à la macro Aff(): Ctrl w par exemple,

Tu maintiens ton raccourci clavier avec la main gauche et tu cliques sur ta shape pour la dupliquer

http://www.info-3000.com/vbvba/raccourciclavier.php

Voilà
0