Macro copier ligne sur nouvelle feuille

Bonjour à tous et merci de me lire,

Je me permets de lancer ce sujet car je bloque sur une macro assez basique pourtant. En effet, j'aimerais pouvoir copier des lignes de ma feuille initiale vers d'autres feuilles en utilisant une macro. La macro séparerait donc les lignes en fonction du N° Compte Fournisseur Principal (colonne I) et créerait pour chaque compte fournisseur une nouvelle feuille avec les lignes qui lui correspondent.

Dans mes essais, j'arrive à créer les feuilles mais je ne sais pas séparer les lignes en fonction de mon numéro de compte fournisseur. C'est pour ceci que je sollicite votre expertise afin de m'aider à avancer

Merci du temps que vous m'accorderez,

Bien cordialement,

19test-macro.xlsx (9.08 Ko)

Bonjour,

Allez dans l'éditeur VBA et collez ce code dans un module puis associer le à un bouton que vous placez sur votre feuille Feuil1 (en A1 par exemple)

Sub test()
Dim tablo()
Dim dlg As Integer, i As Integer, J As Integer
Dim feuille As String
Dim existe As Boolean

Application.ScreenUpdating = False
dlg = Range("A" & Rows.Count).End(xlUp).Row

ReDim tablo(dlg - 3, 14)
J = 0
For i = 0 To dlg - 3
    For J = 0 To 14
        tablo(i, J) = Cells(i + 3, J + 1)
    Next J
Next i

For i = 0 To UBound(tablo)
    feuille = tablo(i, 8)
    'controle si la feuille existe
    For k = 1 To Sheets.Count
        If Sheets(k).Name = feuille Then existe = 1: Exit For
    Next k
    If existe = 0 Then
        Worksheets.Add after:=Sheets(Sheets.Count)
        ActiveSheet.Name = feuille
        For J = 1 To 15 'pour ajouter la ligne entete
            Sheets(feuille).Cells(1, J) = Sheets("Feuil1").Cells(2, J)
        Next J
    End If
    With Sheets(feuille) 'importation des données
        dlg = .Range("A" & .Rows.Count).End(xlUp).Row
        For J = 1 To 15
            .Cells(dlg + 1, J) = tablo(i, J - 1) 'ActiveSheet.Range("A" & i & ":k" & i).Value
        Next J
    End With
    existe = 0
Next i
Application.ScreenUpdating = False
End Sub

Ensuite enregistrer votre fichier au format XLSM (pour accepter les macros)

Cordialement

Supprimé par l'auteur.

Bonjour

Ci joint ma solution

9test-macro.xlsm (18.42 Ko)

A+ François

Bonjour

Bonjour à tous

Une variante

11test-macro-v1.xlsm (28.98 Ko)

Bye !

Merci à tous pour vos réponses ! Elles correspondent toutes à mon besoin et je ne sais même pas laquelle privilégier

Pour abuser un peu de votre gentillesse, puis-je à la suite de cette macro, envoyer automatiquement ces feuilles sous format excel par mail à chaque compte fournisseur ? Par exemple si je rajoute l'adresse mail fournisseur dans la colonne P à la suite des autres.

Bien cordialement et encore merci beaucoup !

Rechercher des sujets similaires à "macro copier ligne nouvelle feuille"