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 :

Macro en boucle pour copier coller image sous condition


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2018
    Messages : 3
    Par défaut Macro en boucle pour copier coller image sous condition
    Bonjour à tous,

    Je cherche un p'tit surdoué pour créer une macro en boucle pour copier coller des images suivant certaines conditions. J ai fait la méthode développeur avec (gestionnaire de noms) =image et image (=INDIRECT('image'!$A$1)) + (gestionnaire de noms) =image1 et image1 (=INDIRECT('image'!$B$1)) etc etc mais étant donné qu'il y a plus de 50 images ça me fait ralentir mon fichier même en 64bit...
    Du coup je cherche la méthode simple en copiant collant simplement l'image par macro

    Ci joint le fichier en question.

    Merci à vous pour votre aide je bloque sur les boucles ....
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par benjamin7983 Voir le message
    Merci à vous pour votre aide je bloque sur les boucles ....
    Pour tout savoir sur les boucles : http://silkyroad.developpez.com/vba/boucles/

  3. #3
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2018
    Messages : 3
    Par défaut Au pire faire une seule boucle... MERCIIII
    Si cela est trop compliqué je pourrai éventuellement créer les 100 er lignes pour les images 01,02,03,04,05 etc etc en bibliothèque mais est ce que quelqu un pourrait voir pour faire une boucle de G4 à G15.

    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
    if G4 = 01  then 
        'Sheets("image").Select
        'ActiveSheet.Shapes("01").Copy ou un truc de genre activesheet.shapes.range ("G4").value ???
        'Sheets("page").Select
       ' Range("A4").Select
        'ActiveSheet.Paste     (special .jpg)     
    
    if G4 = 02  then 
        'Sheets("image").Select
        'ActiveSheet.Shapes("02").Copy
        'Sheets("page").Select
       ' Range("A4").Select
        'ActiveSheet.Paste     (special .jpg)          
    
    if G4 = 03  then 
        'Sheets("image").Select
        'ActiveSheet.Shapes("03").Copy
        'Sheets("page").Select
       ' Range("A4").Select
        'ActiveSheet.Paste     (special .jpg)    
    
    
    Création de boucle pour G4 à G15
    
    if G5 = 01  then 
        'Sheets("image").Select
        'ActiveSheet.Shapes("01").Copy
        'Sheets("page").Select
       ' Range("A5").Select
        'ActiveSheet.Paste     (special .jpg)  
    
    
    if G5 = 02  then 
        'Sheets("image").Select
        'ActiveSheet.Shapes("02").Copy
        'Sheets("page").Select
       ' Range("A5").Select
        'ActiveSheet.Paste     (special .jpg)
    etc etc jusqu'a G15...


    MERCI BEAUCOUP

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Ouh! Là! Là!

    est ce que quelqu un pourrait voir
    Désolé mais l'objectif est d'aider tout développeur à résoudre une difficulté en partant de son développement.
    Sauf, peut-être, si un blocage persiste à la 1ère méthode.

    Menhir t'a indiqué une direction. Tu n'y as pas répondu.

    Je remarque que le nom des images à coller est lié au contenu des cellules.
    Une boucle, voire 2, accompagné(e) d'une concaténation suffirait à mon sens.

    S'il te plaît, essaie de baliser le code afin de le rendre plus lisible.
    Et supprime ces f... "Select" qui, sauf en de cas rarissimes, ne servent à rien.

    Développe dans ce sens et reviens en cas de difficulté.

  5. #5
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2018
    Messages : 3
    Par défaut ça avance...
    Bonjour et merci pour vos réponses. N'étant pas vraiment développeur mais avec vos conseils et pas mal de recherche j ai pu commencer un bout de code mais avec pas mal d’erreurs d'écriture. Le code VBA n'est pas mon fort...
    Je pense que le déroulement de cette macro est bon dans la forme mais bloque malheureusement à l’exécution..

    Merci beaucoup pour votre aide..
    Fichiers attachés Fichiers attachés

  6. #6
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour, Bonjour au Forum,

    Voici ton 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
    Sub Insererimage()
    Dim snom As String
    Dim i As Long
    ' Boucle pour balayer les lignes 4 à 15
      For i = 1 To 11
     
    ' Définir le nom de l'image à insérer
        snom = Sheets("page").Range("G4" & i).Value
     
    'condition
      If snom <> "x" Then
      Sheets("Images").Select
        Application.CutCopyMode = False
        ActiveSheet.Pictures(snom & ".JPG").Copy
     
    ' Se placer dans la cellule
        Sheets("page").Select
        Range("a4" & i).Select
     
    ' Insérer l'image
     
        ActiveSheet.Pictures.Insert(snom & ".JPG").Select
     
      Next i
    End Sub
    Pas de structure conditionnelle, des Select à tout va, des images sans nom dans le fichier.
    Je pense que le déroulement de cette macro est bon dans la forme
    Sûrement pas
    mais bloque malheureusement à l’exécution.
    As-tu seulement cherché où?

    Que peut-on répondre?

Discussions similaires

  1. Création macro word pour copier-coller
    Par marmi dans le forum VBA Word
    Réponses: 2
    Dernier message: 18/04/2017, 09h26
  2. Réponses: 16
    Dernier message: 15/03/2017, 09h24
  3. [OpenOffice] Macro pour copier/coller les paramètres de dimensionnement d'une image
    Par cecile0123 dans le forum OpenOffice & LibreOffice
    Réponses: 3
    Dernier message: 08/02/2015, 17h21
  4. [XL-2007] macro pour copier coller des selections multiples
    Par bedoch dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 12/06/2009, 12h31
  5. copier/coller lignes sous condition colonne vers autre feuille
    Par juniorglobal08 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/05/2009, 17h29

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