Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Erreur d'exécution 5 argument ou appel de procédure incorrect avec ActiveSheet.ChartObjects.Add()

pmfontaine

XLDnaute Occasionnel

Bonjour,

J'utilise le code ci-dessous pour créer des images jpg.
Il fonctionnait très bien sur plusieurs fichier jusqu'à fin octobre environ.
Mais maintenant il ne fonctionne plus avec Erreur d'exécution 5 argument ou appel de procédure incorrect.
Je suis en Office 365 avec mise à jour des version automatique. Est-ce que ça pourrais venir de la dernière version ?
Merci d'avance pour votre aide.
Patrick

Option Explicit
Sub ExportImage()
Dim Plage As Range
Dim NomImage As String
Dim Repertoire
Repertoire = ActiveWorkbook.Path & "\"
If Dir(Repertoire & "Images", 16) = "" Then MkDir Repertoire & "Images"
Sheets("ImprimeJPG").Select
NomImage = "EssaiImage"
Set Plage = Range("A1:L59").Cells
Plage.CopyPicture Appearance:=xlPrinter, Format:=xlPicture
With ActiveSheet.ChartObjects.Add(Left:=Plage.Left, Top:=Plage.Top, Width:=Plage.Width, Height:=Plage.Height)
.Name = "ExportImage"
.Activate
.Border.LineStyle = xlNone
End With
ActiveChart.Paste
ActiveSheet.ChartObjects("ExportImage").Chart.Export Repertoire & "Cartes" & Application.PathSeparator & NomImage & ".jpg", "jpg"
ActiveSheet.ChartObjects("ExportImage").Delete
End Sub

 

Pièces jointes

  • ImprimeJPG.xlsm
    38.7 KB · Affichages: 2

patricktoulon

XLDnaute Barbatruc
Bonsoir

VB:
Option Explicit
Sub ExportImage()
    Dim Plage As Range, NomImage$, Repertoire$, cheminX, Graph
    Repertoire = ActiveWorkbook.Path & "\Images\"
    If Dir(Repertoire, vbDirectory) = "" Then MkDir Repertoire
    If Dir(Repertoire & "Cartes\", vbDirectory) = "" Then MkDir Repertoire & "Cartes"
    Sheets("ImprimeJPG").Select
    NomImage = "EssaiImage"
    cheminX = Repertoire & "Cartes" & Application.PathSeparator & NomImage & ".jpg"
    If Dir(cheminX) <> "" Then MsgBox "ce nom de fichier est dejà utilisé": Exit Sub
    Set Plage = Range("A1:L59")
    Plage.CopyPicture Appearance:=xlPrinter, Format:=xlPicture
    Set Graph = Plage.Parent.ChartObjects.Add(0, 0, 0, 0).Chart
    Plage.Parent.Shapes(Graph.Parent.Name).Line.Visible = msoFalse
    With Graph.Parent
        .Width = Plage.Width: .Height = Plage.Height: .Left = Plage.Left:
        '.Select
        Do: DoEvents
            .Chart.Paste
        Loop While .Chart.Pictures.Count = 0
        '************************************************************
        .Chart.Export cheminX, "jpg"
    End With
    Graph.Parent.Delete
End Sub
 

pmfontaine

XLDnaute Occasionnel
Bonjour Merci Patrick Pour ta réponse.
Mais j'ai le même problème avec ton code



Ce qui est bizarre c'est qu'il y a un mois se code marchait très bien. C'est pourquoi Je reprécise que j'ai la dernière version Excel
(Microsoft® Excel® pour Microsoft 365 MSO (Version 2310 Build 16.0.16924.20054) 64 bits)

Je viens de voir qu'un autre code d'un fichier qui n'est pas de moi me pose le même problème alors qu'il fonctionnait bien il y a un mois.
Erreur 438 ALD 5 ?

Sur la ligne de code ActiveWorkbook.ActiveSheet.Status = "Attente"
 

pmfontaine

XLDnaute Occasionnel
Re Bonjour et Re Merci.
Effectivement, je viens de faire un test sur un autre PC avec exactement la même version D'Excel et là ça marche.
Je vais désinstaller Office et le réinstaller.
Je mettrais le résultat de cette manip.
 

pmfontaine

XLDnaute Occasionnel
la nature nous fait de belle choses
il est un tord de croire que l'on puisse faire mieux
Merci Patrick, Oui la nature me passionne. non seulement l'homme ne fait pas mieux, mais il détruit ce que la nature à fait.

Pour revenir sur mon problème :
Voila je viens de désinstaller Office 365 avec l'application SetupProd_OffScrub.exe qui semble faire une désinstallation plus complète.
Puis réinstallation. Manip faite deux fois avec une fois réinstallation via le site Microsoft et comme il y avais toujours l'erreur j'ai redésinstallé et réinstallé via SetupProd_OffScrub.exe. Mais rien n'y fait.
Je suis en Windows 11, comme je ne pouvais pas aller en arrière je suis allé en avant avec une M a J de Windows 11 version 23H2.

Ne marche toujours pas, même message d'erreur sur le même fichier qui marche sur un PC et pas sur l'autre.
Config PC Qui Marche :
Édition Windows 10 Famille Version 22H2 et Microsoft® Excel® pour Microsoft 365 MSO (Version 2310 Build 16.0.16924.20054) 64 bits
Config PC Qui Ne Marche Pas :
Windows 11 version 23H2. Microsoft® Excel® pour Microsoft 365 MSO (Version 2310 Build 16.0.16924.20054) 64 bits

Je me pose la question d'un virus ? Est-ce possible ?
Si pas d'autre solution je ferais une réinitialisation complète du PC, mais en attendant si vous avez d'autres piste, je suis preneur.
Merci
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
le fait que ca fonctionne sur pc avec la même version de excel veut dire qu'il faut chercher ailleurs
alors soit les mises ajour l'ors de l’installation de sont pas les même quand un windows et l'autre
soit il y a un soucis avec ton windows
je vais regarder si j'ai bien fait tout mes déclarations d'api
a tu regardé si tu a l'option activer les macros 4 dans tes options
 

pmfontaine

XLDnaute Occasionnel
Dernière version Office 365 ==> Microsoft® Excel® pour Microsoft 365 MSO (Version 2310 Build 16.0.16924.20054) 64 bits
Mais sur le forum Microsoft j'ai eu une réponse qui m'a bien aidé ICI pour ceux qui peuvent.
En fait le problème vient du compte utilisateur. J'ai fais une réinstallation Office 365 a partir d'un autres compte utilisateur et là pas de problème sur ce compte. Si je reviens sur mon compte le problème persiste.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…