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 :

Vba pour copier des images


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 139
    Points : 61
    Points
    61
    Par défaut Vba pour copier des images
    Bonjour la communauté.
    J’ai un classeur « Album »
    Dans ce classeur : une feuille « Image »
    Une feuille « classement »

    Dans la feuille Image 30 images que j’ai insérées à partir d’un album quelconque.
    Je voudrais en cliquant ( doubleClic ou ClicDroit) sur ces images , les coller sur la feuille classement, de la gauche vers la droite les unes après les autres dans l’ordre choisit en cliquant,
    Je m’explique.
    Le Clic sur image 3 la colle en haut à gauche de ma feuille.
    Le Clic sur la suivante image 18 par exemple la colle en haut juste à droite de l’image 3, etc, etc.
    Peut-être faut-il que les cellules qui reçoivent les images doivent être de la même dimension (ce qui ne me gène pas) soit image 3 dans cellule A1, image 18 dans cellule A2.

    Merci aux courageux



    Robert

  2. #2
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    bonjour,
    est ce que tes images ont toutes la même taille?

    Veux tu tes trente images en ligne sur la feuille de réception?

    Comment faits tu pour savoir qu'une photo n'est pas déjà classée?


    @+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 139
    Points : 61
    Points
    61
    Par défaut Vba pour copier des images
    Salut fred65200

    Les images sont toutes de même dimensions
    Je veux les aligner sur deux lignes pour qu'elles soit visibles sur l'écran
    Lorsque c'est terminé je les sauvegardes sur un autre classeur

    Merci fred

  4. #4
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    bonjour,

    Voici le code, à placer dans ta feuille Images
    clic droit sur l'onglet, visualiser le code
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    Option Explicit
    Dim Compteur As Byte
    Dim Sh As Shape
    Dim Ligne As Byte
    Private Sub CommandButton1_Click()
       With UsedRange 'Attention efface tour le texte et les couleurs de fond, adapte au besoin
          .Interior.ColorIndex = xlNone
          .ClearContents
       End With
     
       'affectation des macros aux images
       For Each Sh In Sheets("image").Shapes
          If Not Sh.Name Like "CommandButton1" Then Sh.OnAction = "Feuil1.Classement"
       Next Sh
     
       'suppression des images de la feuille classement
       For Each Sh In Sheets("classement").Shapes
          Sh.Delete
       Next Sh
     
       Compteur = 0
       Ligne = 1
     
    End Sub
    Sub Classement()
    Compteur = Compteur + 1
     
    'suppression de la macro pour ne pas recliquer sur la même image
    'et par la même occasion ne pas avoir d'image cliquable sur la feuille de destination
    Sheets("image").Shapes(Application.Caller).OnAction = ""
     
    'copie de l'image
    Sheets("image").Shapes(Application.Caller).Copy
     
    'fond de cellule rouge et position
    With Range(Sheets("image").Shapes(Application.Caller).TopLeftCell.Address)
       .Interior.ColorIndex = 3
       .Value = Compteur + (Ligne - 1) * 15
    End With
     
    'collage de l'image
    Sheets("classement").Cells(Ligne, Compteur).PasteSpecial "Image (GIF)"
     
    If Compteur * Ligne = 30 Then MsgBox "Classement terminé.": _
       Application.Goto Sheets("classement").Range("A1"): Exit Sub
     
    If Compteur = 15 Then Compteur = 0: Ligne = Ligne + 1
    End Sub
    Ajoute un bouton sur la feuille image et affecte lui la macro Initialisation

    Dans mon exemple, j'ai mis un CommandButton1, si tu places un autre type de bouton, ajuste la macro Initialisation.
    Tu peux aussi affecter le code initialisation à un bouton d'une barre d'outils. Dans ce cas supprime
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not Sh.Name = "CommandButton1" Then
    Les cellules de la feuille image doivent être légèrement plus larges et plus hautes que les images pour un confort visuel, si tu places tes images dans le coin supérieur gauche, aligne la police à droite et en bas.

    Les dimensions des cellules de la feuille classement doivent correspondre aux dimensions des images.

    cordialement

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 139
    Points : 61
    Points
    61
    Par défaut
    Merci Fred je vais essayer ta solution
    A plus
    Robert

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

Discussions similaires

  1. Code VBA pour copier-coller des colonnes d'un fichier Excel à un autre
    Par User Name dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/01/2014, 23h30
  2. [VBA-PP] macro pour insérer des images dans PowerPoint
    Par mashpro dans le forum VBA PowerPoint
    Réponses: 4
    Dernier message: 01/08/2006, 22h56
  3. [MySQL] conseils pour gérer des images avec mysql
    Par briiice dans le forum Administration
    Réponses: 9
    Dernier message: 04/01/2006, 09h52
  4. [Recherche] Recherche un logiciel pour assembler des images
    Par Furius dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 29/12/2005, 18h03
  5. Batch pour copier des fichier
    Par borgfabr dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 09/03/2004, 07h55

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