scinder un fichier à chaque changement de variable + enregistrement automatique

Sand2207

XLDnaute Nouveau
Bonjour à toutes et tous,

Allez, un cadeau pour cet après-midi ;)

J'ai une problématique de division automatique de fichier par région et enregsitrement de chacun de ces fichiers sous un nom différent dans un répertoire cible qui serait par exemple O:\entreprise\FV

Pour essayer d'être claire, dans le fichier joint par exemple, j'aimerais spliter le fichier joint en 3 fichiers (car il y a 3 régions : Z1, Z2 et Z3)
Et que ces 3 fichiers soient enregistrés automatiquement sous les noms Help Z1, Help Z2 et Help Z3.

Mon objectif est d'envoyer aux régions leurs chiffres de ventes avec juste la vue toute France et pas les données des autres régions :)

J'espère avoir été claire.

Merci beaucoup

Sand
 

Pièces jointes

  • Help.xls
    30.5 KB · Affichages: 79
  • Help.xls
    30.5 KB · Affichages: 78
  • Help.xls
    30.5 KB · Affichages: 80

mromain

XLDnaute Barbatruc
Re : scinder un fichier à chaque changement de variable + enregistrement automatique

bonjour Sand2207

voici une macro qui a l'air de fonctionner :
Code:
Sub test()
Dim curCell As Range, newWbk As Workbook, dossierSauvegarde As String

dossierSauvegarde = "E:\aMiki\XLS\test\"

With ThisWorkbook.Sheets("Sans sous-total")
    .Range(.Cells(3, 1), .Cells(3, 1).End(xlToRight).End(xlDown)).Sort key1:=.Cells(3, 1), order1:=xlAscending
    Set curCell = .Cells(3, 1)
    While curCell.Value <> vbNullString
        If curCell.Value <> curCell.Offset(-1, 0).Value Then
            Set newWbk = Application.Workbooks.Add
            newWbk.SaveAs Filename:=dossierSauvegarde & "HELP_" & curCell.Value & ".xls", FileFormat:=56
            .Range("A1").EntireRow.Copy newWbk.Sheets(1).Range("A1")
            .Range("A2").EntireRow.Copy newWbk.Sheets(1).Range("A2")
        End If
        curCell.EntireRow.Copy newWbk.Sheets(1).Range("A1").End(xlDown).Offset(1, 0)
        If curCell.Value <> curCell.Offset(1, 0).Value Then newWbk.Close True
        Set curCell = curCell.Offset(1, 0)
    Wend
End With
End Sub

a+
 

mromain

XLDnaute Barbatruc
Re : scinder un fichier à chaque changement de variable + enregistrement automatique

re salut,

peux-tu exécuter la macro "pas-à-pas" afin de voir quelle ligne buggue stp.
-tu te met sur la macro dans VBE et tu avance avec la touche F8-

a+
 

Sand2207

XLDnaute Nouveau
Re : scinder un fichier à chaque changement de variable + enregistrement automatique

Olà,

C'est cool que tu sois connecté
Quand j'execute pas à pas, la dernière ligne à être surlignée en jaune est celle là
"newWbk.SaveAs Filename:=dossierSauvegarde & "HELP_" & curCell.Value & ".xls", FileFormat:=56"
et quand je fais F8, j'ai alors la fenêtre d'erreur
 

Sand2207

XLDnaute Nouveau
Re : scinder un fichier à chaque changement de variable + enregistrement automatique

Tout roule !

Merci beaucoup, tu viens de me faire gagner un temps fou et un risque d'erreur quasi proche de zéro.

Merci, merci, merci, c'est super.

:):):):):):)

Bonne fin de journée à toi & peut-être à bientôt sur le site

Sand
 

Sand2207

XLDnaute Nouveau
Re : scinder un fichier à chaque changement de variable + enregistrement automatique

Bonjour à toutes et tous,

Encore mon probleme macro ...
Le fichier a changé de tête ... et j'ai une erreur bizarroide quand je le modifie + il faut que je fasse un découpage sur un autre onglet + ajouter un onglet complet
Pfff ...

Bref, en gardant la mise en forme, il faut que je découpe ce fichier joint par région pour les onglets RO secteur et RO ABJ + insérer l'onglet RO RGCDR.

Pouvez-vous m'aider ?

Merci beaucoup :)
 

Pièces jointes

  • RO 2009 Q2_200905_Envoi_Forum.zip
    38.3 KB · Affichages: 28

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 949
Membres
101 851
dernier inscrit
vaiata