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 :

Problème insertion image [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Août 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2018
    Messages : 3
    Par défaut Problème insertion image
    Bonjour à tous,

    Je suis nouveaux sur ce forum et j'espère ben que vous allez pouvoir m'aider

    J'ai une macro qui me permet d'importer des images sur une feuille excel, elle fonctionne très bien sur une feuille mais dès que je veux l'utiliser sur une autre feuille (en changeant bien sur l'appel de la feuille excel) elle ne fonctionne plus !!!

    L'erreur est la suivante :
    Nom : 2.JPG
Affichages : 219
Taille : 17,1 Ko

    Le code s'arrête sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set img = ActiveSheet.DrawingObjects(ActiveSheet.Shapes.Count)
    Voici mon 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
    Sub bp_add_photo_R1()
     
     'variable select photo
            Dim fd As Object
            Dim SelectedFile As Variant
            Dim repertoire
            Dim rep As Integer
            Dim dir_photo
            Dim img
                            Worksheets("Hazard_pictures").Activate
     
                            rep = MsgBox("Add a Hazard Picture ?", vbYesNo + vquestion)
     
                            If rep = vbYes Then
     
                                                    If Application.Dialogs(xlDialogInsertPicture).Show Then
                                                        dir_photo = "B4"
                                                     End If
     
                                           Set Emplacement = Worksheets("Hazard_pictures").Range(dir_photo)
                                           Set img = ActiveSheet.DrawingObjects(ActiveSheet.Shapes.Count)
     
                                                If img.ShapeRange.Width > img.ShapeRange.Height Then
                                                img.ShapeRange.Width = 210
                                                End If
                                                If img.ShapeRange.Height > 140 Then
                                                img.ShapeRange.Height = 140
                                                End If
     
                                            With img.ShapeRange
                                                .Name = "1"
                                                .LockAspectRatio = msoTrue
                                                .Left = Emplacement.Left + (Emplacement.Width - img.Width) / 2
                                                .Top = Emplacement.Top + (Emplacement.Height - img.Height) / 2
                                            End With
     
     
     
                            Else
                                MsgBox "Interrupted picture insertion"
                            End If
     
    End Sub
    Si vous pouvez m'aider je vous en serais reconnaissant...

    Merci pour votre aide

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    bonjour
    sans parler du reste du code qui fait apel a une collection d'object qui n'est pas appropriée!!
    ta ligne c'est ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set img = ActiveSheet.Pictures(ActiveSheet.Pictures.Count)
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Août 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2018
    Messages : 3
    Par défaut
    Merci pour ta réponse,

    Ça fonctionne je n'ai plus d'erreur.

    Par contre j'ai 2 petites questions :
    - quand tu dis que je fais appel a une collection d'objet qui n'est pas approprié, est ce que tu peux préciser mes erreurs ?
    - pourquoi mon code (certainement mauvais ) fonctionnait sur une feuille et pas l'autre ?

    Désolé pour mes questions mais je débute en codage...

    Merci encore de ton aide.

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    la collection a la quelle tu fait apel =ActiveSheet.DrawingObjects ors la collection ActiveSheet.pictures qui est plus appropriée

    pour le reste du code j'ai un doute sur le fait que tu redimentionne ton image et tu la place vers "B4" par un calcul
    je suis pas sur que les dim correspondent a moins que tu ai modifié les dimentions de cellules
    chez moi l'image se retrouve en haut a gauche (en A1 quoi)
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Août 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2018
    Messages : 3
    Par défaut
    Effectivement j'adapte la dimension de la cellule après.

    Encore merci pour ton aide en tout cas !

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    voila ton code nétoyé et simplifié
    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
    Sub bp_add_photo_R1()
    'variable select photo
        Dim fd As Object, SelectedFile As Variant, repertoire, rep%, dir_photo$, img As Picture
     
        rep = MsgBox("Add a Hazard Picture ?", vbYesNo + vquestion)
        If rep = vbYes Then
            With Worksheets("Hazard_pictures")
                .Activate
                If Application.Dialogs(xlDialogInsertPicture).Show Then dir_photo = "B4"
                Set Emplacement = .Range(dir_photo)
                With ActiveSheet.Pictures(ActiveSheet.Pictures.Count)
                    If .Width > .Height Then .Width = 210
                    If .Height > 140 Then .Height = 140
                    .Name = "1"
                    .ShapeRange.LockAspectRatio = msoTrue
                    .Left = Emplacement.Left + (Emplacement.Width - .Width) / 2
                    .Top = Emplacement.Top + (Emplacement.Height - .Height) / 2
                End With
            End With
        Else
            MsgBox "Interrupted picture insertion"
        End If
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

Discussions similaires

  1. problème Insertion Image
    Par benza dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 05/05/2010, 01h37
  2. [XL-2003] Problème insertion image dans mail par vba
    Par dawood dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/01/2010, 15h23
  3. problème insertion image en .ps
    Par nunuss35 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 6
    Dernier message: 13/12/2008, 11h26
  4. Problème insertion image
    Par garpa dans le forum Tkinter
    Réponses: 6
    Dernier message: 05/12/2008, 11h58
  5. [javascript] problème insertion image
    Par Pwill dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/05/2005, 16h12

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