Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 22/11/2005, 23h02   #1 (permalink)
Webociraptor
Guest
 
Messages: n/a
Par défaut Exporter données vers plusieurs classeurs

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
  Réponse avec citation
ANNONCES
Vieux 23/11/2005, 13h02   #2 (permalink)
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 701
Par défaut Re:Exporter données vers plusieurs classeurs

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]
Fichiers attachés
Type de fichier : zip gestionImpayes.zip (14,3 Ko, 63 affichages)
MichelXld est déconnecté   Réponse avec citation
Vieux 23/11/2005, 20h04   #3 (permalink)
Webociraptor
Guest
 
Messages: n/a
Par défaut Re:Exporter données vers plusieurs classeurs

Bonsoir MichelXld,

Ton exemple répond pratiquement à ce que je cherche. Je vais m'en inspirer très largement pour construire ma procédure.
Merci beaucoup de ton coup de pouce.

Webociraptor
  Réponse avec citation
Vieux 19/06/2008, 13h25   #4 (permalink)
XLDnaute Nouveau
 
Date d'inscription: février 2008
Version Excel : Excel 2000 (PC)
Messages: 19
Par défaut 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 modification par valyno ; 19/06/2008 à 15h08.
valyno est déconnecté   Réponse avec citation
Vieux 19/06/2008, 13h55   #5 (permalink)
XLDnaute Nouveau
 
Date d'inscription: février 2008
Version Excel : Excel 2000 (PC)
Messages: 19
Par défaut 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 modification par valyno ; 19/06/2008 à 15h07.
valyno est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 18h01.


(C) 2006 Excel Downloads