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 :

Probleme de macro entre excel 2007 et 2010 [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Par défaut Probleme de macro entre excel 2007 et 2010
    Bonjour,

    J'ai une macro qui fonctionnait bien sous excel 2007 et je suis passé en excel 2010 et depuis les images que j’insérai via un chemin ne s'affiche plus du moment ou je supprime ou je renomme le dossier d'image en question. Pourriez vous regardez se qui cloche et me donner une solution merci.

    Voici 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
    49
    50
    51
    52
    53
    54
    Sub InsertionImages()
     
    Dim Repertoire As String
    Dim Extension As String
    Dim Fichier As String
     
     
    'Saisie du nom du répertoire
    Repertoire = InputBox("Chemin complet du répertoire (\ à la fin)", "Répertoire", "D:\test\")
    If Repertoire = "" Then Exit Sub
     
    'Saisie du type d'extension
    Extension = InputBox("Type de fichier (sans le point, ex : jpg, png, bmp)", "Type de fichier", "jpg")
    If Extension = "" Then Exit Sub
    'Récupération du premier fichier du répertoire
    Fichier = Dir(Repertoire & "*" & Extension, vbDirectory)
     
    L = -3
    c = 4
     
    Do While Fichier <> ""
    i = i + 1
    'Insertion de l'image
    L = L + 5
    'Verification 3 photos
    If L = 17 Then
    c = c + 13
    L = 2
     
     
     
    End If
    ActiveSheet.Pictures.Insert(Repertoire & Fichier).Select
     
    'Selection.Name = monimage & L
    Selection.Name = Fichier
    Selection.ShapeRange.LockAspectRatio = msoFalse
    'With ActiveSheet.Shapes(monimage & L)
    With ActiveSheet.Shapes(Fichier)
     
    .Top = Cells(c, L).Top
    .Left = Cells(c, L).Left
    .Height = Range(Cells(c, L), Cells(c + 11, L)).Height
     
    .Width = Range(Cells(c, L), Cells(c, L + 4)).Width
     
    End With
     
    Range("L18").Select
     
    Fichier = Dir
    Loop
     
    End Sub

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonsoir,

    je ne comprends pas ce morceau de phrase :
    Citation Envoyé par romain.l88 Voir le message
    ...depuis les images que j’insérai via un chemin ne s'affiche plus du moment ou je supprime ou je renomme le dossier d'image en question....
    les images ne s'affiche plus "jamais" en 2010 ?.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Par défaut
    Bonsoir,

    Si si elle s'affiche car la macro fonctionne mais lorsque je ferme le fichier excel et que je supprime ou renomme le dossier ou sont les images , et bien lorsque je rouvre se fichier exel les photo ont disparu et un message me dit :" impossible d'afficher l'image liée. Le fichier a peut être été déplacer, renommé ou supprimer.Vérifiez que la liaison pointe vers le fichier et l’emplacement correct."
    Alors que je n'ai jamais eu se problème sous excel 2007

  4. #4
    Membre éprouvé
    Formateur en informatique
    Inscrit en
    Janvier 2011
    Messages
    134
    Détails du profil
    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 134
    Par défaut
    Bonsoir,

    Ah oui ... même avec l'enregistreur de macro ça le fait, l'image est liée ...

    Il faudrait jeter un oeil à Shapes.AddPicture(Filename, LinkToFile, SaveWithDocument, Left, Top, Width, Height) qui permet de spécifier de sauvegarder l'image avec le fichier.

    Stéphane

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Par défaut
    Bonjour,

    Stephan pourrait tu m'expliquer car je ne m'y connais pas vraiment en VBA

  6. #6
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour à tous

    Citation Envoyé par romain.l88 Voir le message
    Voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub InsertionImages()
     
    ...
     
    ActiveSheet.Pictures.Insert(Repertoire & Fichier).Select
     
    ...
    End Sub
    Il y aurait une collection Pictures dans les propriétés de l'objet Worksheet ou de l'objet Chart ? Quelqu'un peut m'éclairer ?

    Cordialement,

    PGZ

  7. #7
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,


    Citation Envoyé par pgz Voir le message
    Bonjour à tous



    Il y aurait une collection Pictures dans les propriétés de l'objet Worksheet ou de l'objet Chart ? Quelqu'un peut m'éclairer ?

    Cordialement,

    PGZ
    Je ne pense pas. Et même s'il y en avait une, j'ai bien l'impression que la ligne serait quand même rejetée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Pictures.Insert(Repertoire & Fichier).Select
    Sauf horreur de ma part, VBA n'accepte pas deux méthodes sur la même ligne.

  8. #8
    Membre éprouvé
    Formateur en informatique
    Inscrit en
    Janvier 2011
    Messages
    134
    Détails du profil
    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 134
    Par défaut
    Bonjour,

    Avec l'enregistreur de macro c'est pourtant bien cette ligne qui est enregistrée, et qui fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Pictures.Insert(...).Select
    Mais qui insère une image liée. Ca date de Excel 5 et c'est ce que nombre d'ancien sites sur vba indiquent comme technique pour insérer des images.

    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes.AddPicture Filename:="C:\xxxx.jpg", SaveWithDocument:=msoTrue, linktofile:=msoFalse, Left:=100, Top:=50, Width:=200, Height:=100
    On a une image non liée.

    Stephane

  9. #9
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonsoir


    Citation Envoyé par Stef999 Voir le message
    Avec l'enregistreur de macro c'est pourtant bien cette ligne qui est enregistrée, et qui fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Pictures.Insert(...).Select
    Mais qui insère une image liée. Ca date de Excel 5 et c'est ce que nombre d'ancien sites sur vba indiquent comme technique pour insérer des images.
    OK.

    Citation Envoyé par Stef999 Voir le message
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes.AddPicture Filename:="C:\xxxx.jpg", SaveWithDocument:=msoTrue, linktofile:=msoFalse, Left:=100, Top:=50, Width:=200, Height:=100
    On a une image non liée.
    Cela m'est plus familier et devrait répondre à la question initiale.

    Merci Stephane.

    PGZ

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Par défaut
    Bonsoir,

    je voudrais savoir si je peut prendre cette ligne de code et quelle ligne je peut remplacer dans mon code d'origine.

    Bonne soirée et merci beaucoup

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Par défaut
    Citation Envoyé par pgz Voir le message
    Bonsoir



    OK.

    Cela m'est plus familier et devrait répondre à la question initiale.

    Merci Stephane.

    PGZ
    Bonjour,

    Serait-il possible de me mettre la ligne de code pour que cela fonctionne car je ne vois pas ou je doit insérer cette ligne

  12. #12
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    Citation Envoyé par pgz Voir le message
    Bonjour à tous



    Il y aurait une collection Pictures dans les propriétés de l'objet Worksheet ou de l'objet Chart ? Quelqu'un peut m'éclairer ?

    Cordialement,

    PGZ
    Bonsoir, je pense que oui.... par hasard
    Voir post http://www.developpez.net/forums/d14...s-feuille-2-a/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub TestRemovePic()
     
    Dim Pics As Pictures, Pic As Picture
    Dim PicDelLog As String
     
    ' Toute la collection
    Set Pics = ActiveSheet.Pictures
     
    If Pics.Count > 0 Then
     
        'Pour chaque élément de la collection
        For Each Pic In Pics
    Bonne soirée

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

Discussions similaires

  1. [XL-2007] Problemes de compatibilite entre excel 2010 et excel 2007
    Par marama12 dans le forum Excel
    Réponses: 0
    Dernier message: 24/01/2012, 12h11
  2. Probleme macro sur Excel 2007
    Par Regor dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 31/03/2011, 21h36
  3. Probleme macro sous Excel 2007
    Par vladimire dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/02/2009, 15h36
  4. Pb d'insertion d'image avec une macro sur Excel 2007
    Par tigrou42 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/05/2007, 00h48
  5. [Macro]complémentaire excel 2007
    Par jawed dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/05/2007, 13h57

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