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

Macros et VBA Excel Discussion :

Afficher x images selon x [XL-MAC 2011]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Par défaut Afficher x images selon x
    Bonjour,

    Je suis actuellement en train de réaliser un programme sous visual basic et j'aurai besoin de votre aide concernant l'affichage des images.
    En effet, j'aimerai afficher X images les unes en dessous des autres selon la valeur d'une cellule, puis ensuite avoir Y cette colonne d'images selon la valeur d'une deuxième cellule.

    Je précise que j'ai longuement cherché sur le web et que vous êtes désormais mon derniers recours puisque mes recherches ont été infructueuses...
    J'espère que j'ai été assez clair dans l'énonciation de la problématique.

    En vous souhaitant un très bon vendredi !

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Il faudra être plus précis
    Les images sont elles sur le classeur ou bien un fichier
    Les X Y images sont identiques ou différentes

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Par défaut
    Tout d'abord, merci pour votre réponse.

    Excusez moi pour mon manque de précision.

    Les images seraient dans le classeur, elles seront toutes identiques.
    Finalement, il s'agit de dupliquer en ligne et colonne une image déjà présente dans le classeur selon X et Y.

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Un exemple: Dupliquer X Y fois une image contenue sur la même feuille

    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
    26
    27
    'Shp: l'image à copier sur la même feuille
    'Cel: la cellule à partir de laquelle la duplication commence
    'X: le nombre de copies verticales
    'Y: le nombre de copies horizontales
     
    Private Sub PictureDuplicate(ByVal Shp As Shape, ByVal Cel As Range, ByVal X As Integer, ByVal Y As Integer)
    Dim i As Integer, j As Integer
    Dim G As Double, H As Double
     
    H = Cel.Top
    With Shp
        For i = 1 To X
            G = Cel.Left
            For j = 1 To Y
                .Duplicate
                With .Parent
                    With .Shapes(.Shapes.Count)
                        .Left = G
                        .Top = H
                    End With
                End With
                G = G + .Width
            Next j
            H = H + .Height
        Next i
    End With
    End Sub

    Par exemple: dupliquer sur la feuille nommée Feuil2 l'image Image 1 autant de fois que les valeurs verticales en A1 et horizontales en B1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test()
     
    With Worksheets("feuil2")
        PictureDuplicate .Shapes("Image 1"), .Range("C10"), .Range("A1"), .Range("B1")
    End With
    End Sub

  5. #5
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, par curiosité regarde ici ( il s'agit ici de fichiers pdf mais le principe est transposable )

    dans la procédure PosShapesIns, cette partie devrait t'intéresser, enfin je pense.

    Voir une copie d'écran ici pour visualiser la manière dont les pdf sont positionnés

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        .....
        Nb = ShParam.Range("NbPagesH")
        For i = LBound(Tablo) To UBound(Tablo)
            L = (i Mod Nb) * (W + Pas)
            T = (i \ Nb) * (H + Pas)
            With ShRecap.Shapes(Tablo(i))
                .Left = L
                .Top = T
            End With
        Next i
        .....

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Par défaut
    Merci Mercatog pour ta réponse ! Comme vous pouvez vous en rendre compte je suis débutant dans ce domaine, à vrai dire c'est pour un projet de recherche pour le Master Energétique que j'étudie, nous n'avons jamais fais de VBA..

    Je ne comprends pas comment assigner la variable Shp à mon image afin qu'elle puisse être intégrée dans le programme.

    Merci beaucoup pour votre aide.

    Kiki29, je regarde de suite le lien, j'espère que cela ne sera pas trop chinois pour moi

  7. #7
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Citation Envoyé par alexlg35 Voir le message
    Je ne comprends pas comment assigner la variable Shp à mon image afin qu'elle puisse être intégrée dans le programme.
    Dans la procédure test, tu as le nom de ton image à adapter

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Par défaut
    Citation Envoyé par mercatog Voir le message
    Un exemple: Dupliquer X Y fois une image contenue sur la même feuille

    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
    26
    27
    'Shp: l'image à copier sur la même feuille
    'Cel: la cellule à partir de laquelle la duplication commence
    'X: le nombre de copies verticales
    'Y: le nombre de copies horizontales
     
    Private Sub PictureDuplicate(ByVal Shp As Shape, ByVal Cel As Range, ByVal X As Integer, ByVal Y As Integer)
    Dim i As Integer, j As Integer
    Dim G As Double, H As Double
     
    H = Cel.Top
    With Shp
        For i = 1 To X
            G = Cel.Left
            For j = 1 To Y
                .Duplicate
                With .Parent
                    With .Shapes(.Shapes.Count)
                        .Left = G
                        .Top = H
                    End With
                End With
                G = G + .Width
            Next j
            H = H + .Height
        Next i
    End With
    End Sub

    Par exemple: dupliquer sur la feuille nommée Feuil2 l'image Image 1 autant de fois que les valeurs verticales en A1 et horizontales en B1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test()
     
    With Worksheets("feuil2")
        PictureDuplicate .Shapes("Image 1"), .Range("C10"), .Range("A1"), .Range("B1")
    End With
    End Sub
    J'ai réussi à faire marcher ce code, en mettant bien le nom correspondant de l'image dans le code, quel joie quand j'ai vu les images se dupliquer lol

    Mais cela n'a fonctionné qu'une fois ! Maintenant j'ai un message d'erreur "Mémoire insuffisante"...

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Par défaut
    Ok, le programme fonctionne et je t'en remercie Mercatog !

    Aurais-tu une idée afin qu'à chaque "clic" sur le bouton qui démarre ma macro, on commence par effacer tous les shapes ?
    Car une fois que ceux-ci sont affichés, ils restent affichés de façon permanente.

    Je ne sais pas si je m'exprime de façon assez claire..

    Merci encore

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

Discussions similaires

  1. Afficher une image selon le contenu d'une celulle
    Par kitiara999 dans le forum Excel
    Réponses: 11
    Dernier message: 19/07/2019, 13h21
  2. Afficher une image selon la requete
    Par alitazichibi dans le forum iReport
    Réponses: 1
    Dernier message: 11/01/2013, 10h16
  3. [Toutes versions] Affiche d'images selon critères
    Par Rexena dans le forum Access
    Réponses: 13
    Dernier message: 23/04/2011, 10h23
  4. afficher une image selon condition
    Par sakia dans le forum VBA Access
    Réponses: 4
    Dernier message: 04/10/2007, 17h40
  5. Afficher 3 images selon le chiffre
    Par clementphp dans le forum Langage
    Réponses: 6
    Dernier message: 07/05/2006, 12h31

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