Split lignes en 3 feuilles Excel puis export en 3 fichiers

Bonjour,

Je suis nouveau sur ce sympathique forum avec des tips utiles Merci!

Je ne suis pas encore très à l'aise avec VBA, j'aurais besoin de votre aide.

J'ai un fichier excel pour 3 utilisateurs dont les lignes sont mélangés dans une colonne, je tri mes données pour regrouper les lignes des utilisateurs.

Le nombre de lignes par utilisateur est très variable d'une fois sur l'autre.

J'aimerais créer avec VBA 1 feuille par utilisateur et ensuite exporter chaque feuille dans un fichier excel différent dans un répertoire défini + envoyer chaque fichier par e-mail à chacun des 3 utilisateurs (Le fichier qui correspond à chaque utilisateur).

Ci-joint le fichier.

Merci!

7qforum.zip (11.70 Ko)

Salut loknmal et

à tester (pour créer pour chaque utilisateur une feuille et créer un fichier)

Sub SplitFeuille()
Dim Cellule1 As Range
Dim Cellule2 As Range
Dim shDestin As Worksheet
Set Cellule2 = Feuil1.Cells(1, 3)
Cellule2.CurrentRegion.Sort key1:=Cellule2, order1:=xlAscending, Header:=xlYes
Do
    Set Cellule1 = Cellule2.Offset(1, 0)
If Cellule1 = "" Then Exit Sub
    Set Cellule2 = Cellule1.EntireColumn.Find(what:=Cellule1.Value, lookat:=xlWhole, searchdirection:=xlPrevious)
    On Error Resume Next
    Set shDestin = Sheets(Cellule1.Value)
    If Err <> 0 Then
        Set shDestin = Worksheets.Add(after:=Sheets(Sheets.Count))
        shDestin.Name = Cellule1.Value
    Else
        shDestin.Cells.Clear
    End If
    On Error GoTo 0
    Feuil1.Rows(1).Copy shDestin.Cells(1, 1)
    Range(Cellule1, Cellule2).EntireRow.Copy shDestin.Cells(2, 1)
    ActiveWorkbook.SaveAs Filename:="C:\TON_CHEMIN\" & ActiveSheet.Name & ".xls" ' adapter le chemin

Loop
End Sub

pour l'envoi par mail fait une rechrche dans le forum, il y a assez de sujet avec des réponses

par exemple https://forum.excel-pratique.com/viewtopic.php?f=2&t=133767&p=821610&hilit=envoyer+fichier+par+mail#p821610

Bone nuit

Bonjour, merci pour votre aide, alors j'ai une erreur d'exécution 1004 "la méthode sort de la classe range à échoué"

Le debogage m'affiche cette ligne : Cellule2.CurrentRegion.Sort key1:=Cellule2, order1:=xlAscending, Header:=xlYes

Re,

je viens de tester encore une fois la macro avec ton fichier et ca fonctionne trés bien.

t'utilise un autre fichier?

il faut absolument adapter le chemin ou sauvegarder les documents créés!!!!

6qforum-v1.zip (15.28 Ko)

@++

Rechercher des sujets similaires à "split lignes feuilles puis export fichiers"