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

Python Discussion :

récupérer photo dans excel


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2019
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 62
    Points : 36
    Points
    36
    Par défaut récupérer photo dans excel
    Bonjour à tous,
    j'ai des photos à récupérer dans des classeurs excel, ce n'est pas un lien.
    Quand je fais un print du classeur je ne vois pas comment est stocké la photo et comment la récupérer (fichier joint) ?

    merci
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 355
    Points : 36 883
    Points
    36 883
    Par défaut
    Salut,

    La possibilité de récupérer une image d'un fichier EXCEL dépend de la bibliothèque utilisée pour accéder au fichier.

    Je sais qu'on peut le faire avec pywin32 en utilisant l'interface COM (vers Excel) et qu'en cherchant un peu sur Internet vous devriez trouver des codes prêt à l'emploi.

    - W

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2019
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 62
    Points : 36
    Points
    36
    Par défaut récupérer photo dans excel
    Merci pour l'info,
    si ça peut servir ci-joint 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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    import win32com.client as win32
    from PIL import ImageGrab
    import os
     
    def ensureDirExists(filePath):
        if not os.path.exists(filePath):
            os.makedirs(filePath)
     
    def absoluteListDir(directory):
        for dirpath,_,filenames in os.walk(directory):
            for f in filenames:
                yield os.path.abspath(os.path.join(dirpath, f))
     
    dataDirectory = "F:\SIG"
    outputDirectory = "images"
     
    ensureDirExists(dataDirectory)
    ensureDirExists(outputDirectory)
     
    excel = win32.gencache.EnsureDispatch('Excel.Application')
    excel.Visible = True
     
    files = absoluteListDir(dataDirectory)
    print('files en cours',files)
     
    for file in files:
        print("=" * 20)
        print("Ovrir Workbook: ", file)
        workbook = excel.Workbooks.Open(file)
     
        for sheet in workbook.Sheets:
            num=0
            print("passage Sheet: ", sheet.Name)
            for n, shape in enumerate(sheet.Shapes):
                ## variable char pour comptage en lettre si plusieurs photos
                char = "A"
     
                if shape.Name.startswith("Picture"):
                    shape.Copy()
                    image = ImageGrab.grabclipboard()
                    print('image =', image)
     
                    #outputFile = "{}/{}_{}_{}.png".format(outputDirectory, workbook.Name, sheet.Name, n
     
     
                    # Vérifier si le fichier existe ou non
                    outputFile = "{}/{}.png".format('',''+char,n)
     
                    #si image existe déja
                    if os.path.isfile( outputFile ):
     
                        #Comptage lettre
                        ## conversion de caractère en entier
                        i = ord(char[0])
                        ## incrementation
                        i += 1
                        ## convertir le résultat int en char
                        char = chr(i)
     
                        outputFile = "{}/{}.png".format(''+char,n)
                        print("Fichier trouvé")
     
                        image.save(outputFile , "png")
                        print(outputFile)
     
                    #si image n'existe pas
                    else:
                        print("Fichier non trouvé")
     
                        image.save(outputFile , "png")
                        print(outputFile)
     
     
     
     
        print("Fermeture Workbook")
        workbook.Close(True)

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

Discussions similaires

  1. [XL-2016] Comment mettre un cadre autour d'une photo dans excel par macro VBA
    Par retraite83 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/12/2017, 13h29
  2. [XL-2007] Répertoire photos dans Excel
    Par Feuztoff dans le forum Excel
    Réponses: 4
    Dernier message: 15/04/2017, 16h23
  3. [VBA-E]Formulaire word, récupérer les données dans excel
    Par sablier dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 30/05/2006, 07h38
  4. Récupérer une sheets dans excel vers access sous vba
    Par odbee dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/10/2005, 00h30
  5. Récupérer des données dans excel
    Par alexia2 dans le forum MFC
    Réponses: 1
    Dernier message: 19/05/2005, 15h34

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