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

Excel Discussion :

Bug sur wia.imagefile chargement de l’image [XL-2019]


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Octobre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique

    Informations forums :
    Inscription : Octobre 2019
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Bug sur wia.imagefile chargement de l’image
    Bonsoir j’étais bloqué à cause d’une convertion d’échelle pour Des images jpg pour mo petit programme et j’ai trouvé ceci sur le forum》
    Dim Img As WIA.ImageFile, IP As WIA.ImageProcess
    Set Img = CreateObject("WIA.ImageFile")
    'Création du gestionnaire de filtre
    Set IP = CreateObject("WIA.ImageProcess")
    'Chargement de l'image dans le conteneur
    Img.LoadFile "F:\Creation produit \43325_10pic\43325_10pic_1.jpg"
    'Ajoute le filtre pour redimensionner l'image (Scale)
    IP.Filters.Add IP.FilterInfos("Scale").FilterID
    'Définit la largeur maxi pour le redimensionnement
    IP.Filters(1).Properties("MaximumWidth") = 90
    'Définit la hauteur maxi pour le redimensionnement
    IP.Filters(1).Properties("MaximumHeight") = 90
    'remarque :
    'Les proportions sont conservées. Le filtre prend en compte
    'les ratios et adapte la taille pour ne pas dépasser les valeurs maxi définies.

    'Application du filtre à l'image
    Set Img = IP.Apply(Img)
    'Enregistre l'image redimensionnée
    Img.SaveFile "F:\Creation produit \43325_10pic\43325_10pic_1_R.jpg"
    End Sub

    Je l’ai appliqué à mon programme mais à chaque fois il bug sur le ”loadfile”, j’ai tout tenté, la bibliothèque est chargée je ne comprends pas.
    Merci beaucoup si une personne peut me débloquer.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 774
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 774
    Points : 28 638
    Points
    28 638
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je l’ai appliqué à mon programme mais à chaque fois il bug sur le ”loadfile”, j’ai tout tenté, la bibliothèque est chargée je ne comprends pas
    Qu'est-ce qui bogue ?
    En général on reçoit un message d'erreur avec un numéro et un texte. Ce serait intéressant de connaître ces informations.

    Même si l'erreur ne provient pas de là, vous mélangez du Late et du Early binding

    Exemple en Late Binding (Ne nécessite pas le référencement de bibliothèque)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub t_1()
      Const SubFolder As String = "\Image\"
      Const ImageName As String = "SAM_Finger.jpg"
      Dim Img As Object
      Dim RootName As String
      Dim FullName As String
      RootName = ThisWorkbook.Path
      FullName = RootName & SubFolder & ImageName
      Set Img = CreateObject("WIA.ImageFile")
      Img.LoadFile FullName
      Set Img = Nothing
    End Sub
    Exemple en Early binding (Nécessite le référencement de la bibliothèque Microsoft Windows Image Acquisition Librairy v 2.0)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub T_2()
      Const SubFolder As String = "\Image\"
      Const ImageName As String = "SAM_Finger.jpg"
      Dim Img As New WIA.ImageFile
      Dim RootName As String
      Dim FullName As String
      RootName = ThisWorkbook.Path
      FullName = RootName & SubFolder & ImageName
      Img.LoadFile FullName ' Charge l'image
      Set Img = Nothing
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Candidat au Club
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Octobre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique

    Informations forums :
    Inscription : Octobre 2019
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour Philippe,

    Merci pour ta réponse rapide, j'ai fait ce post en partant d'Excel par ce que dans les possibilités d'applications proposé ne figurait pas Access car en fait je suis dans Access.
    j'ai coller ton code dans un module et j'ai eu le même résultat >>
    Il doit y avoir quelque chose qui manque !!!??? mais quoi ??

    Nom : Capture d'écran 2024-02-23 105548.png
Affichages : 68
Taille : 55,1 Ko

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 774
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 774
    Points : 28 638
    Points
    28 638
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    j'ai fait ce post en partant d'Excel par ce que dans les possibilités d'applications proposé ne figurait pas Access
    Il y a un forum Access sur Developpez.com https://www.developpez.net/forums/f4...office/access/

    J'ai mis le code dans un module standard dans Access et je n'ai pas d'avantage d'erreur avec ce code (testé sur une version 365)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub t_1()
      ' Ne nécessite pas le référencement de bibliothèque
      Const SubFolder As String = "\Image\"
      Const ImageName As String = "SAM_Finger.jpg"
      Dim Img As Object
      Dim RootName As String
      Dim FullName As String
      RootName = CurrentProject.Path
      ' RootName = ThisWorkbook.Path
      FullName = RootName & SubFolder & ImageName
      Set Img = CreateObject("WIA.ImageFile")
      Img.LoadFile FullName
      Set Img = Nothing
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Candidat au Club
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Octobre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique

    Informations forums :
    Inscription : Octobre 2019
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci encore philippe,

    je ne comprends pas pourquoi ca marche chez toi et pas chez moi, regarde le résultat>

    Nom : Capture d'écran 2024-02-23 135002.png
Affichages : 64
Taille : 111,1 Ko

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 774
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 774
    Points : 28 638
    Points
    28 638
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    L'erreur a lieu sur quelle ligne parce-que sur l'image on ne voit rien. En principe quand il y a une erreur, la ligne est surlignée en jaune.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Candidat au Club
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Octobre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique

    Informations forums :
    Inscription : Octobre 2019
    Messages : 5
    Points : 2
    Points
    2
    Par défaut wia.imagefile
    toujours sur le loadFile>>


    Nom : Capture d'écran 2024-02-23 155004.png
Affichages : 59
Taille : 26,6 Ko

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 774
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 774
    Points : 28 638
    Points
    28 638
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'avoue que je ne comprends pas.
    Es-tu certains que le fichier image existe bien dans le répertoire ?
    Par acquit de conscience je mettrais cette ligne, juste avant l'instruction qui provoque l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox ">" & FullName & "<"
    En tous les cas, j'ai testé la procédure complète aussi bien dans Excel que dans Access et cela fonctionne parfaitement

    La procédure testée dans Access 365 et placée dans un module Standard
    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
    Sub t_1()
      ' Ne nécessite pas le référencement de bibliothèque
      Const SubFolder As String = "\Image\"
      Const ImageName As String = "SAM_Finger.jpg"
      Dim Img As Object, IP As Object
      Dim RootName As String
      Dim FullName As String
      RootName = CurrentProject.Path
      FullName = RootName & SubFolder & ImageName
      Set Img = CreateObject("WIA.ImageFile")
      Set IP = CreateObject("WIA.ImageProcess")
      Img.LoadFile FullName
      ' Ajoute le filtre pour redimensionner l'image (Scale)
      IP.Filters.Add IP.FilterInfos("Scale").FilterID
      ' Définit la largeur maxi pour le redimensionnement
      IP.Filters(1).Properties("MaximumWidth") = 90
      ' Définit la hauteur maxi pour le redimensionnement
      IP.Filters(1).Properties("MaximumHeight") = 90
      ' remarque :
      ' Les proportions sont conservées. Le filtre prend en compte
      ' les ratios et adapte la taille pour ne pas dépasser les valeurs maxi définies.
      ' Application du filtre à l'image
      Set Img = IP.Apply(Img)
      ' Enregistre l'image redimensionnée
      FullName = RootName & SubFolder & "TestAccess.jpg"
      Img.SaveFile FullName
      Set Img = Nothing: Set IP = Nothing
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  9. #9
    Candidat au Club
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Octobre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique

    Informations forums :
    Inscription : Octobre 2019
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour Philippe,

    Un grand merci pour ta patience et ton aide qui m'a été cher, j'ai trouvé d'où venait le bug.
    Au départ mes fichiers images viennent de la toile et ils sont au format *.*Web et moi comme j'avais remarqué que la commande "load File" ne les accepterait pas, j'ai simplement renommé l'extension en *.*JPG.
    Et c'est pour cela que ça bloquait car le fichier avait toujours la signature de l'ancien format, du coup quand je repasse par une conversion classique comme Paint dans Windows en lui appliquant l'extension JPG tout fonctionne comme par miracle.
    Je ne cherchais pas aux bons endroits mais grace à ton aide j'ai fini par trouver je te re-merci encore.

    Cordialement, Mario.

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

Discussions similaires

  1. [RegEx] Petit Bug sur Expression Régulière
    Par Delphy113 dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2005, 20h48
  2. [Plugin][VE]Bug sur Eclipse Visual Project Editor
    Par capitaine_choc dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 31/05/2005, 14h51
  3. Bug sur glColor3i !
    Par ZiZouJH dans le forum OpenGL
    Réponses: 23
    Dernier message: 04/06/2004, 10h21
  4. Bug sur la prorpiété required d'un TField avec ADO ???
    Par denrette dans le forum Bases de données
    Réponses: 6
    Dernier message: 04/11/2003, 11h04
  5. Page de rapport de bug sur le site de Sun
    Par piff dans le forum Général Java
    Réponses: 1
    Dernier message: 03/03/2003, 18h12

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