Mon fichier excel à une indigestion...

Le
Christophe CAMPAIN
Bonjour à tous,

Je suis en train de développer une application Excel me permettant de
traiter des images par lot --> réduction dimensions et poids.
Pour cela j'explore des pistes qui m'ont été données sur le forum:
1 - importation d'une image
2 - réduction dimenssions,
3 - CopyPicture du résultat
4 - Collage dans un "ChartObject"
5 - export au format JPEG
Le problème, c'est qu'au fur et à mesure de mes tests, mon fichier grossi
sans qu'il n'y ai rien de vissible sur les feuille (20 Mo en une dizaine de
tests).
Je pensais avoir pris mes précautions avec mes "Delete", à priori ce n'est
pas suffisant

Une idée de l'origine du problème ?

Par avance merci

@+
Kristof

Voici un extrait de mon code :
'
..
With Application.FileSearch
.NewSearch
.LookIn = DossierDeDépart
.SearchSubFolders = True 'à adapter éventuellement
.MatchTextExactly = False
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count

Set Image = ActiveSheet.Pictures.Insert(.FoundFiles(I))

With Image
.ShapeRange.LockAspectRatio = msoTrue
.ShapeRange.Height = Hauteur
.ShapeRange.Width = Largeur
.CopyPicture Appearance:=xlScreen, Format:=xlPicture
End With

Set gr = ActiveSheet.ChartObjects.Add(0, 0, Largeur, Hauteur)

gr.Chart.Paste
' Enregistre l'image dans le répertoire de destination
gr.Chart.Export DossierArrivée & "" & PréfixeImages & I & ".jpg"
'"C:Documents and SettingsccampainMes documentsMes
imagesTestImage1.jpg"
' Supprime le cadre objet
gr.Delete
Image.Delete
Next I
Else
MsgBox "Pas de fichier trouvé !"
End If
'
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel Pierron
Le #1285887
Bonsoir Christophe;
Essaie plutôt avec ces petites modifs:
' ------
' Supprime le cadre objet
Set gr = Nothing
Set Image = Nothing
Next I
Else
MsgBox "Pas de fichier trouvé !"
End If

MP

"Christophe CAMPAIN" message de news:
Bonjour à tous,

Je suis en train de développer une application Excel me permettant de
traiter des images par lot --> réduction dimensions et poids.
Pour cela j'explore des pistes qui m'ont été données sur le forum:
1 - importation d'une image
2 - réduction dimenssions,
3 - CopyPicture du résultat
4 - Collage dans un "ChartObject"
5 - export au format JPEG
Le problème, c'est qu'au fur et à mesure de mes tests, mon fichier grossi
sans qu'il n'y ai rien de vissible sur les feuille (20 Mo en une dizaine de
tests...).
Je pensais avoir pris mes précautions avec mes "Delete", à priori ce n'est
pas suffisant...

Une idée de l'origine du problème ?

Par avance merci

@+
Kristof

Voici un extrait de mon code :
'------------------------------
........
With Application.FileSearch
.NewSearch
.LookIn = DossierDeDépart
.SearchSubFolders = True 'à adapter éventuellement
.MatchTextExactly = False
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count

Set Image = ActiveSheet.Pictures.Insert(.FoundFiles(I))

With Image
.ShapeRange.LockAspectRatio = msoTrue
.ShapeRange.Height = Hauteur
.ShapeRange.Width = Largeur
.CopyPicture Appearance:=xlScreen, Format:=xlPicture
End With

Set gr = ActiveSheet.ChartObjects.Add(0, 0, Largeur, Hauteur)

gr.Chart.Paste
' Enregistre l'image dans le répertoire de destination
gr.Chart.Export DossierArrivée & "" & PréfixeImages & I & ".jpg"
'"C:Documents and SettingsccampainMes documentsMes
imagesTestImage1.jpg"
' Supprime le cadre objet
gr.Delete
Image.Delete
Next I
Else
MsgBox "Pas de fichier trouvé !"
End If
'------------------------------




Michel Pierron
Le #1285885
Re Christophe;
Je ne sais pas si cela a une importance pour toi, mais toutes tes images après
exportation sont affublées d'un cadre et d'une bordure supplémentaires (c'est le
prix à payer avec Export).
MP

"Christophe CAMPAIN" message de news:
Bonjour à tous,

Je suis en train de développer une application Excel me permettant de
traiter des images par lot --> réduction dimensions et poids.
Pour cela j'explore des pistes qui m'ont été données sur le forum:
1 - importation d'une image
2 - réduction dimenssions,
3 - CopyPicture du résultat
4 - Collage dans un "ChartObject"
5 - export au format JPEG
Le problème, c'est qu'au fur et à mesure de mes tests, mon fichier grossi
sans qu'il n'y ai rien de vissible sur les feuille (20 Mo en une dizaine de
tests...).
Je pensais avoir pris mes précautions avec mes "Delete", à priori ce n'est
pas suffisant...

Une idée de l'origine du problème ?

Par avance merci

@+
Kristof

Voici un extrait de mon code :
'------------------------------
........
With Application.FileSearch
.NewSearch
.LookIn = DossierDeDépart
.SearchSubFolders = True 'à adapter éventuellement
.MatchTextExactly = False
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count

Set Image = ActiveSheet.Pictures.Insert(.FoundFiles(I))

With Image
.ShapeRange.LockAspectRatio = msoTrue
.ShapeRange.Height = Hauteur
.ShapeRange.Width = Largeur
.CopyPicture Appearance:=xlScreen, Format:=xlPicture
End With

Set gr = ActiveSheet.ChartObjects.Add(0, 0, Largeur, Hauteur)

gr.Chart.Paste
' Enregistre l'image dans le répertoire de destination
gr.Chart.Export DossierArrivée & "" & PréfixeImages & I & ".jpg"
'"C:Documents and SettingsccampainMes documentsMes
imagesTestImage1.jpg"
' Supprime le cadre objet
gr.Delete
Image.Delete
Next I
Else
MsgBox "Pas de fichier trouvé !"
End If
'------------------------------




kristof
Le #1233757
Oui, j'ai remarqué, mais en dimensionnant l'image 1 point de moins que le
cadre, la bordure est uniforme et plutôt jolie finalement...


"Michel Pierron"
Re Christophe;
Je ne sais pas si cela a une importance pour toi, mais toutes tes images
après

exportation sont affublées d'un cadre et d'une bordure supplémentaires
(c'est le

prix à payer avec Export).
MP

"Christophe CAMPAIN" dans le

message de news:
Bonjour à tous,

Je suis en train de développer une application Excel me permettant de
traiter des images par lot --> réduction dimensions et poids.
Pour cela j'explore des pistes qui m'ont été données sur le forum:
1 - importation d'une image
2 - réduction dimenssions,
3 - CopyPicture du résultat
4 - Collage dans un "ChartObject"
5 - export au format JPEG
Le problème, c'est qu'au fur et à mesure de mes tests, mon fichier
grossi


sans qu'il n'y ai rien de vissible sur les feuille (20 Mo en une dizaine
de


tests...).
Je pensais avoir pris mes précautions avec mes "Delete", à priori ce
n'est


pas suffisant...

Une idée de l'origine du problème ?

Par avance merci

@+
Kristof

Voici un extrait de mon code :
'------------------------------
........
With Application.FileSearch
.NewSearch
.LookIn = DossierDeDépart
.SearchSubFolders = True 'à adapter éventuellement
.MatchTextExactly = False
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count

Set Image = ActiveSheet.Pictures.Insert(.FoundFiles(I))

With Image
.ShapeRange.LockAspectRatio = msoTrue
.ShapeRange.Height = Hauteur
.ShapeRange.Width = Largeur
.CopyPicture Appearance:=xlScreen, Format:=xlPicture
End With

Set gr = ActiveSheet.ChartObjects.Add(0, 0, Largeur, Hauteur)

gr.Chart.Paste
' Enregistre l'image dans le répertoire de destination
gr.Chart.Export DossierArrivée & "" & PréfixeImages & I &
".jpg"


'"C:Documents and SettingsccampainMes documentsMes
imagesTestImage1.jpg"
' Supprime le cadre objet
gr.Delete
Image.Delete
Next I
Else
MsgBox "Pas de fichier trouvé !"
End If
'------------------------------








kristof
Le #1233756
Salut !

Là, je viens de changer de poste et Ô miracle, mon fichier de 20 Mo transmis
par Mail a fondu à 54 Ko ... va comprendre Charles...

Je vais quand même tester tes sugestions pour voir la différence.

Merci,

@+
Kristof

"Michel Pierron"
Bonsoir Christophe;
Essaie plutôt avec ces petites modifs:
' ------
' Supprime le cadre objet
Set gr = Nothing
Set Image = Nothing
Next I
Else
MsgBox "Pas de fichier trouvé !"
End If

MP

"Christophe CAMPAIN" dans le

message de news:
Bonjour à tous,

Je suis en train de développer une application Excel me permettant de
traiter des images par lot --> réduction dimensions et poids.
Pour cela j'explore des pistes qui m'ont été données sur le forum:
1 - importation d'une image
2 - réduction dimenssions,
3 - CopyPicture du résultat
4 - Collage dans un "ChartObject"
5 - export au format JPEG
Le problème, c'est qu'au fur et à mesure de mes tests, mon fichier
grossi


sans qu'il n'y ai rien de vissible sur les feuille (20 Mo en une dizaine
de


tests...).
Je pensais avoir pris mes précautions avec mes "Delete", à priori ce
n'est


pas suffisant...

Une idée de l'origine du problème ?

Par avance merci

@+
Kristof

Voici un extrait de mon code :
'------------------------------
........
With Application.FileSearch
.NewSearch
.LookIn = DossierDeDépart
.SearchSubFolders = True 'à adapter éventuellement
.MatchTextExactly = False
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count

Set Image = ActiveSheet.Pictures.Insert(.FoundFiles(I))

With Image
.ShapeRange.LockAspectRatio = msoTrue
.ShapeRange.Height = Hauteur
.ShapeRange.Width = Largeur
.CopyPicture Appearance:=xlScreen, Format:=xlPicture
End With

Set gr = ActiveSheet.ChartObjects.Add(0, 0, Largeur, Hauteur)

gr.Chart.Paste
' Enregistre l'image dans le répertoire de destination
gr.Chart.Export DossierArrivée & "" & PréfixeImages & I &
".jpg"


'"C:Documents and SettingsccampainMes documentsMes
imagesTestImage1.jpg"
' Supprime le cadre objet
gr.Delete
Image.Delete
Next I
Else
MsgBox "Pas de fichier trouvé !"
End If
'------------------------------








kristof
Le #1227531
Je n'ai pas réussi à récréer le problème. Dans le doute j'ai mis les 2
(.delete & =Nothing)

@+
Kristof

"Michel Pierron"
Bonsoir Christophe;
Essaie plutôt avec ces petites modifs:
' ------
' Supprime le cadre objet
Set gr = Nothing
Set Image = Nothing
Next I
Else
MsgBox "Pas de fichier trouvé !"
End If

MP

"Christophe CAMPAIN" dans le

message de news:
Bonjour à tous,

Je suis en train de développer une application Excel me permettant de
traiter des images par lot --> réduction dimensions et poids.
Pour cela j'explore des pistes qui m'ont été données sur le forum:
1 - importation d'une image
2 - réduction dimenssions,
3 - CopyPicture du résultat
4 - Collage dans un "ChartObject"
5 - export au format JPEG
Le problème, c'est qu'au fur et à mesure de mes tests, mon fichier
grossi


sans qu'il n'y ai rien de vissible sur les feuille (20 Mo en une dizaine
de


tests...).
Je pensais avoir pris mes précautions avec mes "Delete", à priori ce
n'est


pas suffisant...

Une idée de l'origine du problème ?

Par avance merci

@+
Kristof

Voici un extrait de mon code :
'------------------------------
........
With Application.FileSearch
.NewSearch
.LookIn = DossierDeDépart
.SearchSubFolders = True 'à adapter éventuellement
.MatchTextExactly = False
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count

Set Image = ActiveSheet.Pictures.Insert(.FoundFiles(I))

With Image
.ShapeRange.LockAspectRatio = msoTrue
.ShapeRange.Height = Hauteur
.ShapeRange.Width = Largeur
.CopyPicture Appearance:=xlScreen, Format:=xlPicture
End With

Set gr = ActiveSheet.ChartObjects.Add(0, 0, Largeur, Hauteur)

gr.Chart.Paste
' Enregistre l'image dans le répertoire de destination
gr.Chart.Export DossierArrivée & "" & PréfixeImages & I &
".jpg"


'"C:Documents and SettingsccampainMes documentsMes
imagesTestImage1.jpg"
' Supprime le cadre objet
gr.Delete
Image.Delete
Next I
Else
MsgBox "Pas de fichier trouvé !"
End If
'------------------------------








Christophe CAMPAIN
Le #1233130
Bonjour à tous,

En fait si ! Le problème surviens à chaque traitement d'image. L'application
semble se comporter comme une éponge en ce qui concerne les images chargées.
Elle ne se libère les neurones qu'aprés fermeture et réouverture complète de
l'appli.
Problème de vidange de mémoire ?

Y a t il un moyen de forcer l'appli à se vider les neurones de TOUT
autrement que par la fermeture et la réouverture du fichier ?

Par avance merci,

@+

Kristof


"kristof" news:c4s23f$isc$
Je n'ai pas réussi à récréer le problème. Dans le doute j'ai mis les 2
(.delete & =Nothing)

@+
Kristof

"Michel Pierron"
Bonsoir Christophe;
Essaie plutôt avec ces petites modifs:
' ------
' Supprime le cadre objet
Set gr = Nothing
Set Image = Nothing
Next I
Else
MsgBox "Pas de fichier trouvé !"
End If

MP

"Christophe CAMPAIN" écrit


dans le
message de news:
Bonjour à tous,

Je suis en train de développer une application Excel me permettant de
traiter des images par lot --> réduction dimensions et poids.
Pour cela j'explore des pistes qui m'ont été données sur le forum:
1 - importation d'une image
2 - réduction dimenssions,
3 - CopyPicture du résultat
4 - Collage dans un "ChartObject"
5 - export au format JPEG
Le problème, c'est qu'au fur et à mesure de mes tests, mon fichier
grossi


sans qu'il n'y ai rien de vissible sur les feuille (20 Mo en une
dizaine



de
tests...).
Je pensais avoir pris mes précautions avec mes "Delete", à priori ce
n'est


pas suffisant...

Une idée de l'origine du problème ?

Par avance merci

@+
Kristof

Voici un extrait de mon code :
'------------------------------
........
With Application.FileSearch
.NewSearch
.LookIn = DossierDeDépart
.SearchSubFolders = True 'à adapter éventuellement
.MatchTextExactly = False
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count

Set Image = ActiveSheet.Pictures.Insert(.FoundFiles(I))

With Image
.ShapeRange.LockAspectRatio = msoTrue
.ShapeRange.Height = Hauteur
.ShapeRange.Width = Largeur
.CopyPicture Appearance:=xlScreen, Format:=xlPicture
End With

Set gr = ActiveSheet.ChartObjects.Add(0, 0, Largeur, Hauteur)

gr.Chart.Paste
' Enregistre l'image dans le répertoire de destination
gr.Chart.Export DossierArrivée & "" & PréfixeImages & I &
".jpg"


'"C:Documents and SettingsccampainMes documentsMes
imagesTestImage1.jpg"
' Supprime le cadre objet
gr.Delete
Image.Delete
Next I
Else
MsgBox "Pas de fichier trouvé !"
End If
'------------------------------












Publicité
Poster une réponse
Anonyme