Selection pour Groupes de Shapes

tuxboy Messages postés 995 Date d'inscription   Statut Membre Dernière intervention   -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Membre Dernière intervention   20
 
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 995 Date d'inscription   Statut Membre Dernière intervention   190
 
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 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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