bonjour,
je suis en train de faire un bon de commande sous excel.
Sur une feuille, j'ai toutes mes références et sur une autres, j'ai les
références qui sont dans le panier.
j'envoie cette derniére feuille par mail via la routine suivante :
ActiveSheet.Copy
ActiveWorkbook.SendMail
il envoie donc juste la feuille ou y'a les quelques références des articles
qui sont commandés et pas la feuille ou sont toutes mes références.
pourtant, il envoie un fichier de 1.18 Mo pour une feuille excel qui fait
une page à l'impression (en A4 !!). Le fichier initial avec toutes les
références du catalogue faisant 1.8Mo. Il a donc perdu un peu en taille, c
déja ca !.
Mais ca prend beaucoup de place pour une feuille de cette taille. Quand
j'ouvre avec le bloc note le fichiers XLS que j'envoie, je vois les noms de
tous mes articles donc en fait, il continue d'avoir toutes les références de
mes articles qui sont sur une feuille que je n'ai pas copié, je ne comprend
pas d'où ils viennent !!
si quelqu'un sait comment envoyer cette feuille et juste cette feuille,
merci de me le dire, je peux mettre à dispo le XLS si vous le voulez.
au revoir, Aurélien
un grand merci d'avance pour les réponses que vous pourrez m'apporter
bonjour,
je suis en train de faire un bon de commande sous excel.
Sur une feuille, j'ai toutes mes références et sur une autres, j'ai les
références qui sont dans le panier.
j'envoie cette derniére feuille par mail via la routine suivante :
ActiveSheet.Copy
ActiveWorkbook.SendMail
il envoie donc juste la feuille ou y'a les quelques références des articles
qui sont commandés et pas la feuille ou sont toutes mes références.
pourtant, il envoie un fichier de 1.18 Mo pour une feuille excel qui fait
une page à l'impression (en A4 !!). Le fichier initial avec toutes les
références du catalogue faisant 1.8Mo. Il a donc perdu un peu en taille, c
déja ca !.
Mais ca prend beaucoup de place pour une feuille de cette taille. Quand
j'ouvre avec le bloc note le fichiers XLS que j'envoie, je vois les noms de
tous mes articles donc en fait, il continue d'avoir toutes les références de
mes articles qui sont sur une feuille que je n'ai pas copié, je ne comprend
pas d'où ils viennent !!
si quelqu'un sait comment envoyer cette feuille et juste cette feuille,
merci de me le dire, je peux mettre à dispo le XLS si vous le voulez.
au revoir, Aurélien
un grand merci d'avance pour les réponses que vous pourrez m'apporter
bonjour,
je suis en train de faire un bon de commande sous excel.
Sur une feuille, j'ai toutes mes références et sur une autres, j'ai les
références qui sont dans le panier.
j'envoie cette derniére feuille par mail via la routine suivante :
ActiveSheet.Copy
ActiveWorkbook.SendMail
il envoie donc juste la feuille ou y'a les quelques références des articles
qui sont commandés et pas la feuille ou sont toutes mes références.
pourtant, il envoie un fichier de 1.18 Mo pour une feuille excel qui fait
une page à l'impression (en A4 !!). Le fichier initial avec toutes les
références du catalogue faisant 1.8Mo. Il a donc perdu un peu en taille, c
déja ca !.
Mais ca prend beaucoup de place pour une feuille de cette taille. Quand
j'ouvre avec le bloc note le fichiers XLS que j'envoie, je vois les noms de
tous mes articles donc en fait, il continue d'avoir toutes les références de
mes articles qui sont sur une feuille que je n'ai pas copié, je ne comprend
pas d'où ils viennent !!
si quelqu'un sait comment envoyer cette feuille et juste cette feuille,
merci de me le dire, je peux mettre à dispo le XLS si vous le voulez.
au revoir, Aurélien
un grand merci d'avance pour les réponses que vous pourrez m'apporter
bonjour,
je n'ai jamais utilisé cette fonctionnalité, mais voici ce que dit l'aide:
Envoie le classeur en utilisant le système de messagerie installé.
Syntaxe
expression.SendMail(Recipients, Subject, ReturnReceipt)
expression Obligatoire. Expression qui renvoie un objet Workbook.
Donc tu ne peux expédier qu'un fichier entier.
Par ailleurs, Tu copies ta feuille dans un nouveau classeur
(Activesheet.copy); mais je pense que si tu ne l'enregistres pas, il ne
sera pas reconnu.
Peux-tu essayer d'intercaler entre tes 2 instructions quelque chose du
genre:
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "_essai" _
& "" & ThisWorkbook.Name
Cordialement
Bourby
Aurélien wrote:bonjour,
je suis en train de faire un bon de commande sous excel.
Sur une feuille, j'ai toutes mes références et sur une autres, j'ai les
références qui sont dans le panier.
j'envoie cette derniére feuille par mail via la routine suivante :
ActiveSheet.Copy
ActiveWorkbook.SendMail
il envoie donc juste la feuille ou y'a les quelques références des
articles qui sont commandés et pas la feuille ou sont toutes mes
références.
pourtant, il envoie un fichier de 1.18 Mo pour une feuille excel qui fait
une page à l'impression (en A4 !!). Le fichier initial avec toutes les
références du catalogue faisant 1.8Mo. Il a donc perdu un peu en taille,
c déja ca !.
Mais ca prend beaucoup de place pour une feuille de cette taille. Quand
j'ouvre avec le bloc note le fichiers XLS que j'envoie, je vois les noms
de tous mes articles donc en fait, il continue d'avoir toutes les
références de mes articles qui sont sur une feuille que je n'ai pas
copié, je ne comprend pas d'où ils viennent !!
si quelqu'un sait comment envoyer cette feuille et juste cette feuille,
merci de me le dire, je peux mettre à dispo le XLS si vous le voulez.
au revoir, Aurélien
un grand merci d'avance pour les réponses que vous pourrez m'apporter
bonjour,
je n'ai jamais utilisé cette fonctionnalité, mais voici ce que dit l'aide:
Envoie le classeur en utilisant le système de messagerie installé.
Syntaxe
expression.SendMail(Recipients, Subject, ReturnReceipt)
expression Obligatoire. Expression qui renvoie un objet Workbook.
Donc tu ne peux expédier qu'un fichier entier.
Par ailleurs, Tu copies ta feuille dans un nouveau classeur
(Activesheet.copy); mais je pense que si tu ne l'enregistres pas, il ne
sera pas reconnu.
Peux-tu essayer d'intercaler entre tes 2 instructions quelque chose du
genre:
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "_essai" _
& "" & ThisWorkbook.Name
Cordialement
Bourby
Aurélien wrote:
bonjour,
je suis en train de faire un bon de commande sous excel.
Sur une feuille, j'ai toutes mes références et sur une autres, j'ai les
références qui sont dans le panier.
j'envoie cette derniére feuille par mail via la routine suivante :
ActiveSheet.Copy
ActiveWorkbook.SendMail
il envoie donc juste la feuille ou y'a les quelques références des
articles qui sont commandés et pas la feuille ou sont toutes mes
références.
pourtant, il envoie un fichier de 1.18 Mo pour une feuille excel qui fait
une page à l'impression (en A4 !!). Le fichier initial avec toutes les
références du catalogue faisant 1.8Mo. Il a donc perdu un peu en taille,
c déja ca !.
Mais ca prend beaucoup de place pour une feuille de cette taille. Quand
j'ouvre avec le bloc note le fichiers XLS que j'envoie, je vois les noms
de tous mes articles donc en fait, il continue d'avoir toutes les
références de mes articles qui sont sur une feuille que je n'ai pas
copié, je ne comprend pas d'où ils viennent !!
si quelqu'un sait comment envoyer cette feuille et juste cette feuille,
merci de me le dire, je peux mettre à dispo le XLS si vous le voulez.
au revoir, Aurélien
un grand merci d'avance pour les réponses que vous pourrez m'apporter
bonjour,
je n'ai jamais utilisé cette fonctionnalité, mais voici ce que dit l'aide:
Envoie le classeur en utilisant le système de messagerie installé.
Syntaxe
expression.SendMail(Recipients, Subject, ReturnReceipt)
expression Obligatoire. Expression qui renvoie un objet Workbook.
Donc tu ne peux expédier qu'un fichier entier.
Par ailleurs, Tu copies ta feuille dans un nouveau classeur
(Activesheet.copy); mais je pense que si tu ne l'enregistres pas, il ne
sera pas reconnu.
Peux-tu essayer d'intercaler entre tes 2 instructions quelque chose du
genre:
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "_essai" _
& "" & ThisWorkbook.Name
Cordialement
Bourby
Aurélien wrote:bonjour,
je suis en train de faire un bon de commande sous excel.
Sur une feuille, j'ai toutes mes références et sur une autres, j'ai les
références qui sont dans le panier.
j'envoie cette derniére feuille par mail via la routine suivante :
ActiveSheet.Copy
ActiveWorkbook.SendMail
il envoie donc juste la feuille ou y'a les quelques références des
articles qui sont commandés et pas la feuille ou sont toutes mes
références.
pourtant, il envoie un fichier de 1.18 Mo pour une feuille excel qui fait
une page à l'impression (en A4 !!). Le fichier initial avec toutes les
références du catalogue faisant 1.8Mo. Il a donc perdu un peu en taille,
c déja ca !.
Mais ca prend beaucoup de place pour une feuille de cette taille. Quand
j'ouvre avec le bloc note le fichiers XLS que j'envoie, je vois les noms
de tous mes articles donc en fait, il continue d'avoir toutes les
références de mes articles qui sont sur une feuille que je n'ai pas
copié, je ne comprend pas d'où ils viennent !!
si quelqu'un sait comment envoyer cette feuille et juste cette feuille,
merci de me le dire, je peux mettre à dispo le XLS si vous le voulez.
au revoir, Aurélien
un grand merci d'avance pour les réponses que vous pourrez m'apporter
merci de la suggestion malheureusement, mais il envoie exactement le même
fichier !
donc je ne suis pas encore débloqué !!! quoique je ne suis pas bloqué à 100%
vu qu'envoyer un fichier de 1.18 Mo ne soit plus si rébarbatif que ca par
l'adsl !!! mais aprés, c le stockage des commandes qui prend de la place sur
nos serveurs !!!
merci beaucoup de ton aide
cordialement
Aurélien
"bourby" a écrit dans le message de news:bonjour,
je n'ai jamais utilisé cette fonctionnalité, mais voici ce que dit l'aide:
Envoie le classeur en utilisant le système de messagerie installé.
Syntaxe
expression.SendMail(Recipients, Subject, ReturnReceipt)
expression Obligatoire. Expression qui renvoie un objet Workbook.
Donc tu ne peux expédier qu'un fichier entier.
Par ailleurs, Tu copies ta feuille dans un nouveau classeur
(Activesheet.copy); mais je pense que si tu ne l'enregistres pas, il ne
sera pas reconnu.
Peux-tu essayer d'intercaler entre tes 2 instructions quelque chose du
genre:
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "_essai" _
& "" & ThisWorkbook.Name
Cordialement
Bourby
Aurélien wrote:bonjour,
je suis en train de faire un bon de commande sous excel.
Sur une feuille, j'ai toutes mes références et sur une autres, j'ai les
références qui sont dans le panier.
j'envoie cette derniére feuille par mail via la routine suivante :
ActiveSheet.Copy
ActiveWorkbook.SendMail
il envoie donc juste la feuille ou y'a les quelques références des
articles qui sont commandés et pas la feuille ou sont toutes mes
références.
pourtant, il envoie un fichier de 1.18 Mo pour une feuille excel qui fait
une page à l'impression (en A4 !!). Le fichier initial avec toutes les
références du catalogue faisant 1.8Mo. Il a donc perdu un peu en taille,
c déja ca !.
Mais ca prend beaucoup de place pour une feuille de cette taille. Quand
j'ouvre avec le bloc note le fichiers XLS que j'envoie, je vois les noms
de tous mes articles donc en fait, il continue d'avoir toutes les
références de mes articles qui sont sur une feuille que je n'ai pas
copié, je ne comprend pas d'où ils viennent !!
si quelqu'un sait comment envoyer cette feuille et juste cette feuille,
merci de me le dire, je peux mettre à dispo le XLS si vous le voulez.
au revoir, Aurélien
un grand merci d'avance pour les réponses que vous pourrez m'apporter
merci de la suggestion malheureusement, mais il envoie exactement le même
fichier !
donc je ne suis pas encore débloqué !!! quoique je ne suis pas bloqué à 100%
vu qu'envoyer un fichier de 1.18 Mo ne soit plus si rébarbatif que ca par
l'adsl !!! mais aprés, c le stockage des commandes qui prend de la place sur
nos serveurs !!!
merci beaucoup de ton aide
cordialement
Aurélien
"bourby" <jchfer@wanadoo.fr> a écrit dans le message de news:
ea4FvLDIFHA.2752@TK2MSFTNGP12.phx.gbl...
bonjour,
je n'ai jamais utilisé cette fonctionnalité, mais voici ce que dit l'aide:
Envoie le classeur en utilisant le système de messagerie installé.
Syntaxe
expression.SendMail(Recipients, Subject, ReturnReceipt)
expression Obligatoire. Expression qui renvoie un objet Workbook.
Donc tu ne peux expédier qu'un fichier entier.
Par ailleurs, Tu copies ta feuille dans un nouveau classeur
(Activesheet.copy); mais je pense que si tu ne l'enregistres pas, il ne
sera pas reconnu.
Peux-tu essayer d'intercaler entre tes 2 instructions quelque chose du
genre:
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "_essai" _
& "" & ThisWorkbook.Name
Cordialement
Bourby
Aurélien wrote:
bonjour,
je suis en train de faire un bon de commande sous excel.
Sur une feuille, j'ai toutes mes références et sur une autres, j'ai les
références qui sont dans le panier.
j'envoie cette derniére feuille par mail via la routine suivante :
ActiveSheet.Copy
ActiveWorkbook.SendMail
il envoie donc juste la feuille ou y'a les quelques références des
articles qui sont commandés et pas la feuille ou sont toutes mes
références.
pourtant, il envoie un fichier de 1.18 Mo pour une feuille excel qui fait
une page à l'impression (en A4 !!). Le fichier initial avec toutes les
références du catalogue faisant 1.8Mo. Il a donc perdu un peu en taille,
c déja ca !.
Mais ca prend beaucoup de place pour une feuille de cette taille. Quand
j'ouvre avec le bloc note le fichiers XLS que j'envoie, je vois les noms
de tous mes articles donc en fait, il continue d'avoir toutes les
références de mes articles qui sont sur une feuille que je n'ai pas
copié, je ne comprend pas d'où ils viennent !!
si quelqu'un sait comment envoyer cette feuille et juste cette feuille,
merci de me le dire, je peux mettre à dispo le XLS si vous le voulez.
au revoir, Aurélien
un grand merci d'avance pour les réponses que vous pourrez m'apporter
merci de la suggestion malheureusement, mais il envoie exactement le même
fichier !
donc je ne suis pas encore débloqué !!! quoique je ne suis pas bloqué à 100%
vu qu'envoyer un fichier de 1.18 Mo ne soit plus si rébarbatif que ca par
l'adsl !!! mais aprés, c le stockage des commandes qui prend de la place sur
nos serveurs !!!
merci beaucoup de ton aide
cordialement
Aurélien
"bourby" a écrit dans le message de news:bonjour,
je n'ai jamais utilisé cette fonctionnalité, mais voici ce que dit l'aide:
Envoie le classeur en utilisant le système de messagerie installé.
Syntaxe
expression.SendMail(Recipients, Subject, ReturnReceipt)
expression Obligatoire. Expression qui renvoie un objet Workbook.
Donc tu ne peux expédier qu'un fichier entier.
Par ailleurs, Tu copies ta feuille dans un nouveau classeur
(Activesheet.copy); mais je pense que si tu ne l'enregistres pas, il ne
sera pas reconnu.
Peux-tu essayer d'intercaler entre tes 2 instructions quelque chose du
genre:
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "_essai" _
& "" & ThisWorkbook.Name
Cordialement
Bourby
Aurélien wrote:bonjour,
je suis en train de faire un bon de commande sous excel.
Sur une feuille, j'ai toutes mes références et sur une autres, j'ai les
références qui sont dans le panier.
j'envoie cette derniére feuille par mail via la routine suivante :
ActiveSheet.Copy
ActiveWorkbook.SendMail
il envoie donc juste la feuille ou y'a les quelques références des
articles qui sont commandés et pas la feuille ou sont toutes mes
références.
pourtant, il envoie un fichier de 1.18 Mo pour une feuille excel qui fait
une page à l'impression (en A4 !!). Le fichier initial avec toutes les
références du catalogue faisant 1.8Mo. Il a donc perdu un peu en taille,
c déja ca !.
Mais ca prend beaucoup de place pour une feuille de cette taille. Quand
j'ouvre avec le bloc note le fichiers XLS que j'envoie, je vois les noms
de tous mes articles donc en fait, il continue d'avoir toutes les
références de mes articles qui sont sur une feuille que je n'ai pas
copié, je ne comprend pas d'où ils viennent !!
si quelqu'un sait comment envoyer cette feuille et juste cette feuille,
merci de me le dire, je peux mettre à dispo le XLS si vous le voulez.
au revoir, Aurélien
un grand merci d'avance pour les réponses que vous pourrez m'apporter
bonsoir,
as-tu vérifié la taille du fichier ainsi sauvegardé?
S'il fait environ 1.18Mo(**), as-tu beaucoup de formules?
Si c'est le cas, peux-tu faire un collage spécial des valeurs pour
alléger?Si le problème ne vient pas des formules, fais ctrl+fin : si la
dernière cellule est très au-delà de ta page A4, tu peux avoir intérêt à
la rafraîchir.Pour cela, tu peux essayer d'enregistrer le fichier sous un
nouveau nom.
Si ça ne suffit encore pas, tu peux essayer la macro ci-dessous, trouvée
dans un livre. Avec moi, elle a toujours bien marché sous NT et 2000, mais
il arrive qu'elle ne marche pas sous XP.
(**) et s'il est <<1.18Mo, ferme-le dans tamacro, puis rouvre-le avant de
l'expédier.
Ou une combinaison de tout ça.... C'est en cherchant qu'on trouve....
Bon courage.
Bourby
Sub rafraichirDerniereCellule()
'Walkenbach pp 131-132
Dim dernLigne As Long, dernColonne As Long
Dim vraieDernLigne As Long, vraieDernColonne As Long
Dim nbVide As Long, nbDern As Long
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
With Range("A1").SpecialCells(xlCellTypeLastCell)
dernLigne = .Row
dernColonne = .Column
End With
nbDern = dernLigne * dernColonne
On Error Resume Next
'If Not Range("A1").SpecialCells(xlCellTypeBlanks) Is Nothing Then
nbVide = Range("A1").SpecialCells(xlCellTypeBlanks).Count
If nbVide < nbDern Then
vraieDernLigne = _
Cells.Find("*", Range("A1"), xlFormulas, , xlByRows,
xlPrevious).Row
vraieDernColonne = _
Cells.Find("*", Range("A1"), xlFormulas, , xlByColumns,
xlPrevious).Column
Else
vraieDernLigne = 1
vraieDernColonne = 1
End If
If vraieDernLigne < dernLigne Then _
Range(Cells(vraieDernLigne + 1, 1), Cells(dernLigne, 1)) _
.EntireRow.Delete
If vraieDernColonne < dernColonne Then _
Range(Cells(1, vraieDernColonne + 1), Cells(1, dernColonne + 1)) _
.EntireColumn.Delete
ActiveSheet.UsedRange
'Calculate
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Range("A1").SpecialCells(xlCellTypeLastCell).Select
End Sub
S
Aurélien wrote:merci de la suggestion malheureusement, mais il envoie exactement le même
fichier !
donc je ne suis pas encore débloqué !!! quoique je ne suis pas bloqué à
100% vu qu'envoyer un fichier de 1.18 Mo ne soit plus si rébarbatif que
ca par l'adsl !!! mais aprés, c le stockage des commandes qui prend de la
place sur nos serveurs !!!
merci beaucoup de ton aide
cordialement
Aurélien
"bourby" a écrit dans le message de news:bonjour,
je n'ai jamais utilisé cette fonctionnalité, mais voici ce que dit
l'aide:
Envoie le classeur en utilisant le système de messagerie installé.
Syntaxe
expression.SendMail(Recipients, Subject, ReturnReceipt)
expression Obligatoire. Expression qui renvoie un objet Workbook.
Donc tu ne peux expédier qu'un fichier entier.
Par ailleurs, Tu copies ta feuille dans un nouveau classeur
(Activesheet.copy); mais je pense que si tu ne l'enregistres pas, il ne
sera pas reconnu.
Peux-tu essayer d'intercaler entre tes 2 instructions quelque chose du
genre:
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "_essai" _
& "" & ThisWorkbook.Name
Cordialement
Bourby
Aurélien wrote:bonjour,
je suis en train de faire un bon de commande sous excel.
Sur une feuille, j'ai toutes mes références et sur une autres, j'ai les
références qui sont dans le panier.
j'envoie cette derniére feuille par mail via la routine suivante :
ActiveSheet.Copy
ActiveWorkbook.SendMail
il envoie donc juste la feuille ou y'a les quelques références des
articles qui sont commandés et pas la feuille ou sont toutes mes
références.
pourtant, il envoie un fichier de 1.18 Mo pour une feuille excel qui
fait une page à l'impression (en A4 !!). Le fichier initial avec toutes
les références du catalogue faisant 1.8Mo. Il a donc perdu un peu en
taille, c déja ca !.
Mais ca prend beaucoup de place pour une feuille de cette taille. Quand
j'ouvre avec le bloc note le fichiers XLS que j'envoie, je vois les noms
de tous mes articles donc en fait, il continue d'avoir toutes les
références de mes articles qui sont sur une feuille que je n'ai pas
copié, je ne comprend pas d'où ils viennent !!
si quelqu'un sait comment envoyer cette feuille et juste cette feuille,
merci de me le dire, je peux mettre à dispo le XLS si vous le voulez.
au revoir, Aurélien
un grand merci d'avance pour les réponses que vous pourrez m'apporter
bonsoir,
as-tu vérifié la taille du fichier ainsi sauvegardé?
S'il fait environ 1.18Mo(**), as-tu beaucoup de formules?
Si c'est le cas, peux-tu faire un collage spécial des valeurs pour
alléger?Si le problème ne vient pas des formules, fais ctrl+fin : si la
dernière cellule est très au-delà de ta page A4, tu peux avoir intérêt à
la rafraîchir.Pour cela, tu peux essayer d'enregistrer le fichier sous un
nouveau nom.
Si ça ne suffit encore pas, tu peux essayer la macro ci-dessous, trouvée
dans un livre. Avec moi, elle a toujours bien marché sous NT et 2000, mais
il arrive qu'elle ne marche pas sous XP.
(**) et s'il est <<1.18Mo, ferme-le dans tamacro, puis rouvre-le avant de
l'expédier.
Ou une combinaison de tout ça.... C'est en cherchant qu'on trouve....
Bon courage.
Bourby
Sub rafraichirDerniereCellule()
'Walkenbach pp 131-132
Dim dernLigne As Long, dernColonne As Long
Dim vraieDernLigne As Long, vraieDernColonne As Long
Dim nbVide As Long, nbDern As Long
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
With Range("A1").SpecialCells(xlCellTypeLastCell)
dernLigne = .Row
dernColonne = .Column
End With
nbDern = dernLigne * dernColonne
On Error Resume Next
'If Not Range("A1").SpecialCells(xlCellTypeBlanks) Is Nothing Then
nbVide = Range("A1").SpecialCells(xlCellTypeBlanks).Count
If nbVide < nbDern Then
vraieDernLigne = _
Cells.Find("*", Range("A1"), xlFormulas, , xlByRows,
xlPrevious).Row
vraieDernColonne = _
Cells.Find("*", Range("A1"), xlFormulas, , xlByColumns,
xlPrevious).Column
Else
vraieDernLigne = 1
vraieDernColonne = 1
End If
If vraieDernLigne < dernLigne Then _
Range(Cells(vraieDernLigne + 1, 1), Cells(dernLigne, 1)) _
.EntireRow.Delete
If vraieDernColonne < dernColonne Then _
Range(Cells(1, vraieDernColonne + 1), Cells(1, dernColonne + 1)) _
.EntireColumn.Delete
ActiveSheet.UsedRange
'Calculate
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Range("A1").SpecialCells(xlCellTypeLastCell).Select
End Sub
S
Aurélien wrote:
merci de la suggestion malheureusement, mais il envoie exactement le même
fichier !
donc je ne suis pas encore débloqué !!! quoique je ne suis pas bloqué à
100% vu qu'envoyer un fichier de 1.18 Mo ne soit plus si rébarbatif que
ca par l'adsl !!! mais aprés, c le stockage des commandes qui prend de la
place sur nos serveurs !!!
merci beaucoup de ton aide
cordialement
Aurélien
"bourby" <jchfer@wanadoo.fr> a écrit dans le message de news:
ea4FvLDIFHA.2752@TK2MSFTNGP12.phx.gbl...
bonjour,
je n'ai jamais utilisé cette fonctionnalité, mais voici ce que dit
l'aide:
Envoie le classeur en utilisant le système de messagerie installé.
Syntaxe
expression.SendMail(Recipients, Subject, ReturnReceipt)
expression Obligatoire. Expression qui renvoie un objet Workbook.
Donc tu ne peux expédier qu'un fichier entier.
Par ailleurs, Tu copies ta feuille dans un nouveau classeur
(Activesheet.copy); mais je pense que si tu ne l'enregistres pas, il ne
sera pas reconnu.
Peux-tu essayer d'intercaler entre tes 2 instructions quelque chose du
genre:
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "_essai" _
& "" & ThisWorkbook.Name
Cordialement
Bourby
Aurélien wrote:
bonjour,
je suis en train de faire un bon de commande sous excel.
Sur une feuille, j'ai toutes mes références et sur une autres, j'ai les
références qui sont dans le panier.
j'envoie cette derniére feuille par mail via la routine suivante :
ActiveSheet.Copy
ActiveWorkbook.SendMail
il envoie donc juste la feuille ou y'a les quelques références des
articles qui sont commandés et pas la feuille ou sont toutes mes
références.
pourtant, il envoie un fichier de 1.18 Mo pour une feuille excel qui
fait une page à l'impression (en A4 !!). Le fichier initial avec toutes
les références du catalogue faisant 1.8Mo. Il a donc perdu un peu en
taille, c déja ca !.
Mais ca prend beaucoup de place pour une feuille de cette taille. Quand
j'ouvre avec le bloc note le fichiers XLS que j'envoie, je vois les noms
de tous mes articles donc en fait, il continue d'avoir toutes les
références de mes articles qui sont sur une feuille que je n'ai pas
copié, je ne comprend pas d'où ils viennent !!
si quelqu'un sait comment envoyer cette feuille et juste cette feuille,
merci de me le dire, je peux mettre à dispo le XLS si vous le voulez.
au revoir, Aurélien
un grand merci d'avance pour les réponses que vous pourrez m'apporter
bonsoir,
as-tu vérifié la taille du fichier ainsi sauvegardé?
S'il fait environ 1.18Mo(**), as-tu beaucoup de formules?
Si c'est le cas, peux-tu faire un collage spécial des valeurs pour
alléger?Si le problème ne vient pas des formules, fais ctrl+fin : si la
dernière cellule est très au-delà de ta page A4, tu peux avoir intérêt à
la rafraîchir.Pour cela, tu peux essayer d'enregistrer le fichier sous un
nouveau nom.
Si ça ne suffit encore pas, tu peux essayer la macro ci-dessous, trouvée
dans un livre. Avec moi, elle a toujours bien marché sous NT et 2000, mais
il arrive qu'elle ne marche pas sous XP.
(**) et s'il est <<1.18Mo, ferme-le dans tamacro, puis rouvre-le avant de
l'expédier.
Ou une combinaison de tout ça.... C'est en cherchant qu'on trouve....
Bon courage.
Bourby
Sub rafraichirDerniereCellule()
'Walkenbach pp 131-132
Dim dernLigne As Long, dernColonne As Long
Dim vraieDernLigne As Long, vraieDernColonne As Long
Dim nbVide As Long, nbDern As Long
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
With Range("A1").SpecialCells(xlCellTypeLastCell)
dernLigne = .Row
dernColonne = .Column
End With
nbDern = dernLigne * dernColonne
On Error Resume Next
'If Not Range("A1").SpecialCells(xlCellTypeBlanks) Is Nothing Then
nbVide = Range("A1").SpecialCells(xlCellTypeBlanks).Count
If nbVide < nbDern Then
vraieDernLigne = _
Cells.Find("*", Range("A1"), xlFormulas, , xlByRows,
xlPrevious).Row
vraieDernColonne = _
Cells.Find("*", Range("A1"), xlFormulas, , xlByColumns,
xlPrevious).Column
Else
vraieDernLigne = 1
vraieDernColonne = 1
End If
If vraieDernLigne < dernLigne Then _
Range(Cells(vraieDernLigne + 1, 1), Cells(dernLigne, 1)) _
.EntireRow.Delete
If vraieDernColonne < dernColonne Then _
Range(Cells(1, vraieDernColonne + 1), Cells(1, dernColonne + 1)) _
.EntireColumn.Delete
ActiveSheet.UsedRange
'Calculate
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Range("A1").SpecialCells(xlCellTypeLastCell).Select
End Sub
S
Aurélien wrote:merci de la suggestion malheureusement, mais il envoie exactement le même
fichier !
donc je ne suis pas encore débloqué !!! quoique je ne suis pas bloqué à
100% vu qu'envoyer un fichier de 1.18 Mo ne soit plus si rébarbatif que
ca par l'adsl !!! mais aprés, c le stockage des commandes qui prend de la
place sur nos serveurs !!!
merci beaucoup de ton aide
cordialement
Aurélien
"bourby" a écrit dans le message de news:bonjour,
je n'ai jamais utilisé cette fonctionnalité, mais voici ce que dit
l'aide:
Envoie le classeur en utilisant le système de messagerie installé.
Syntaxe
expression.SendMail(Recipients, Subject, ReturnReceipt)
expression Obligatoire. Expression qui renvoie un objet Workbook.
Donc tu ne peux expédier qu'un fichier entier.
Par ailleurs, Tu copies ta feuille dans un nouveau classeur
(Activesheet.copy); mais je pense que si tu ne l'enregistres pas, il ne
sera pas reconnu.
Peux-tu essayer d'intercaler entre tes 2 instructions quelque chose du
genre:
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "_essai" _
& "" & ThisWorkbook.Name
Cordialement
Bourby
Aurélien wrote:bonjour,
je suis en train de faire un bon de commande sous excel.
Sur une feuille, j'ai toutes mes références et sur une autres, j'ai les
références qui sont dans le panier.
j'envoie cette derniére feuille par mail via la routine suivante :
ActiveSheet.Copy
ActiveWorkbook.SendMail
il envoie donc juste la feuille ou y'a les quelques références des
articles qui sont commandés et pas la feuille ou sont toutes mes
références.
pourtant, il envoie un fichier de 1.18 Mo pour une feuille excel qui
fait une page à l'impression (en A4 !!). Le fichier initial avec toutes
les références du catalogue faisant 1.8Mo. Il a donc perdu un peu en
taille, c déja ca !.
Mais ca prend beaucoup de place pour une feuille de cette taille. Quand
j'ouvre avec le bloc note le fichiers XLS que j'envoie, je vois les noms
de tous mes articles donc en fait, il continue d'avoir toutes les
références de mes articles qui sont sur une feuille que je n'ai pas
copié, je ne comprend pas d'où ils viennent !!
si quelqu'un sait comment envoyer cette feuille et juste cette feuille,
merci de me le dire, je peux mettre à dispo le XLS si vous le voulez.
au revoir, Aurélien
un grand merci d'avance pour les réponses que vous pourrez m'apporter