Exporter données vers plusieurs classeurs

W

Webociraptor

Guest
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
 

MichelXld

XLDnaute Barbatruc
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]
 

Pièces jointes

  • gestionImpayes.zip
    14.3 KB · Affichages: 323

valyno

XLDnaute Nouveau
Re : Exporter données vers plusieurs classeurs

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

J'ai tenté de l'adapter à mon besoin. J'ai donc fait un copier-coller vers mon code vba, mais j'ai une erreur d'execution 'type d'utilisateur non défini" sur la ligne suivante :
Code:
Set Ol = New Outlook.Application

Y a-t-il une fonction spéciale que je n'aurais pas activée dans mon projet qui serait activée dans le fichier qui est proposé ci-dessus ?
[edit] j'ai ajouté Option Explicit et cela fonctionne.
 
Dernière édition:

valyno

XLDnaute Nouveau
Re : Exporter données vers plusieurs classeurs

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 édition:

Discussions similaires

M
Réponses
9
Affichages
449
Maikales
M