![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
Bonjour à tous,
J'ai besoin d'exporter les données contenues dans un classeur vers plusieurs autres, selon un critère de regroupement. Je m'explique : Mon fichier est une base de données recensant les impayés des clients et je voudrais exporter les impayés de chaque client vers un nouveau classeur que je pourrais lui transmettre par courriel. Mon critère de regroupement est donc le numéro de client (comme pour un sous.total). Comment puis-je réaliser cet export autrement que par un copier-coller fastidieux vers un nouveau classeur ? Merci de votre aide Webociraptor |
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 701
|
bonjour
j'espere que cet exemple pourra t'aider le nom des clients est dans la colonne A lacolonne G est non cochée si l'affaire est non cloturée la procedure filtre les affaires non cloturees pour chaque client et créée un mail de relance , qui contient la liste des dossiers en attente bonne journée MichelXld [file name=gestionImpayes.zip size=14672]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/gestionImpayes.zip[/file] |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: février 2008
Version Excel : Excel 2000 (PC)
Messages: 19
|
Bonjour,
Un grand merci pour cette macro qui m'intéresse beaucoup également. J'arrive à la faire parfaitement fonctionner quand j'utilise le code ci-dessous : Code:
Private Sub CommandButton1_Click()
Dim Cell As Range, Plage As Range
Dim Cible As New Collection
Dim I As Integer
Dim Wb As Workbook
'Dim Ol As New Outlook.Application
'Dim olMail As MailItem
Application.ScreenUpdating = False
On Error Resume Next
'creation liste de clients
For Each Cell In ThisWorkbook.Sheets("tri").Range("A2:A" & _
ThisWorkbook.Sheets("tri").Range("A65536").End(xlUp).Row)
Cible.Add Cell, CStr(Cell)
Next Cell
On Error GoTo 0
'filtre par client et sur les affaires impayées ( colonne G non cochée )
For I = 1 To Cible.Count
ThisWorkbook.Sheets("tri").Range("A1").AutoFilter field:=1, Criteria1:=Cible(I)
'ThisWorkbook.Sheets("Feuil1").Range("A1").AutoFilter field:=7, Criteria1:=""
Set Wb = Workbooks.Add
Set Plage = ThisWorkbook.Sheets("tri").Cells.SpecialCells(xlVisible)
Plage.Copy Wb.Sheets("feuil1").Range("A1")
Wb.SaveAs "D:\" & Cible(I) & ".xls"
Wb.Close
'--------- creation d'un message Outlook contenant le classeur créé----------
Set Ol = New Outlook.Application
Set olMail = Ol.CreateItem(olMailItem)
With olMail
.To = Cible(I)
.Subject = "Tableau souscriptions pour " & Cible(I)
.Body = "Bonjour , " & vbLf & "Voici la liste " & _
vbLf & "Cordialement" & vbLf & "V"
.Attachments.Add "d:\" & Cible(I) & ".xls"
'.DeferredDeliveryTime = Date + 2 + #5:00:00 AM#
.OriginatorDeliveryReportRequested = False 'confirmation de réception
.ReadReceiptRequested = False 'confirmation de lecture
.Display
'.Send 'envoi
End With
'------ option pour supprimer les fichiers apres l'envoi---------------------
'Kill "C:\" & Cible(i) & " " & Format(Date, "yyyy mm dd") & ".xls"
'----------------------------------------------------------------------------
ThisWorkbook.Sheets("tri").ShowAllData
Set Wb = Nothing
Next I
Application.ScreenUpdating = True
End Sub
Code:
Set Ol = New Outlook.Application [edit] j'ai ajouté Option Explicit et cela fonctionne. Dernière modification par valyno ; 19/06/2008 à 15h08. |
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: février 2008
Version Excel : Excel 2000 (PC)
Messages: 19
|
C'est vraiment bizarre : j'ai fait un copier-coller des valeurs de mon tableau dans le fichier gestionimpayes, et l'export des fichiers excel se fait bien, et me génère les mails.
autre bizarrerie : les fichiers excel de sortie font 3 Mo, alors que le fichier d'origine ne fait que 159 ko... D'ou vient cette soudaine obésité ??? [edit] : j'ai réglé le problème d'erreur, je n'avais pas indiqué la commande "Option Explicit" Mais j'ai toujours un problème avec le poids des fichiers à la sortie : ils pèsent 1.4Mo alors que le fichier source ne pèse que 163 ko... Dernière modification par valyno ; 19/06/2008 à 15h07. |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|