IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Codage pour affectation d"une macro à une image


Sujet :

Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 120
    Points : 64
    Points
    64
    Par défaut Codage pour affectation d"une macro à une image
    Bonjour,

    J’ai chargé par la procédure ci-après dix objets-images dans dix cellules prédéfinies et je leur ai donné un nom :
    du type : image_1 image_2 . . . image_10
    Je souhaiterai intégrer dans cette procédure, l’affectation d’une macro (toujours la même).
    Actuellement je le fais à la mimine après la procédure d’insertion car je ne sais pas coder cela.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    '   NomFich est défini précédemment
    '   LigDest est défini précédemment
    '   NomObjet est défini précédemment
    '   Suffixe est défini précédemment    For n = 1 To 10
    '
            ColDest = (n * 2) + 2
            Suffixe = n
            Worksheets(NomFich).Cells(LigDest, ColDest).CopyPicture
            If Application.Dialogs(xlDialogInsertPicture).Show Then
                Set Emplacement = Cells(LigDest, ColDest)
                Set Img = ActiveSheet.DrawingObjects(ActiveSheet.Shapes.Count)
                With Img.ShapeRange
                    .Name = NomObjet & "_" & Suffixe
                    .LockAspectRatio = msoFalse
                    .Left = Emplacement.Left
                    .Top = Emplacement.Top
                    .Height = Emplacement.Height
                    .Width = Emplacement.Width
                End With
             Else
                MsgBox "Insertion d'image interrompue."
            End If
        Next
    '
    Cordiales salutations

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 141
    Points : 9 976
    Points
    9 976
    Billets dans le blog
    5
    Par défaut
    bonjour,

    regarde la propriété OnAction de l'objet Shape

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 120
    Points : 64
    Points
    64
    Par défaut
    Merci joe.levrai; je regarde.

    Pelerin98

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 120
    Points : 64
    Points
    64
    Par défaut
    J'ai regardé, puis ai trouvé cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(NomFich).Shapes("NomImage").OnAction = "CLIC_Image"
    mais je n'arrive pas à écrire correctement le code ( où et comment ) dans ma boucle de chargement des images.
    Quand je l'écris comme ci dessus ça plante.



    Cordiales salutations

  5. #5
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 141
    Points : 9 976
    Points
    9 976
    Billets dans le blog
    5
    Par défaut
    entre la ligne 12 et 13 de ton code, essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Img.OnAction = "Nom de la macro"

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 120
    Points : 64
    Points
    64
    Par défaut
    Merci Joé.levrai,

    ça fonctionne parfaitement (mais bien sûr, toi tu le savais) . . .

    C'est formidable de pouvoir trouver des gens compétents, disponibles et sympathiques pour que les petits puissent grandir un peu !

    pelerin98

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/09/2010, 17h05
  2. Réponses: 4
    Dernier message: 19/03/2009, 10h57
  3. [E-07] Comment affecter par macro une macro à un objet
    Par BATISSEUR dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/01/2009, 10h49
  4. [Macro] Une macro pour générer une autre macro
    Par green_fr dans le forum Macro
    Réponses: 2
    Dernier message: 13/01/2009, 12h59
  5. VBA E pour débutant : Qu'est-ce qu'une macro?
    Par Ragmaxone dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/09/2008, 13h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo