XL 2013 Ajouter sur quatre feuilles

maval

XLDnaute Barbatruc
Bonjour

J'ai dans une feuille une liste de 3 noms dans la cellule "E", j'ai un code qui sépare les trois noms et qui les transposes dans la colonne "A" jusqu'ici tous vas bien.
J'aimerais que lorsque j'ajoute dans la feuille nommé "Données" une liste de 3 noms dans une des cellule "E" sa les ajoute dans les quatre feuilles "BdD Acteurs, Filmographie, Récompenses, Biographie" dans la colonne "A"

Si possible?

Je vous remercie d'avance
 

Pièces jointes

  • ajouter-automatiquement-dans-plusieurs-feuilles.xlsm
    22.2 KB · Affichages: 46

DoubleZero

XLDnaute Barbatruc
Re : Ajouter sur quatre feuilles

Bonjour, maval, le Forum,

Comme ceci ?

Code:
Sub Séparer()
    Dim Cel As Range
    Dim DEST As Range
    Dim o As Object    ' ajouter
    Application.ScreenUpdating = False
    For Each Cel In Range("E2:E" & Cells(Application.Rows.Count, 5).End(xlUp).Row)
        If UBound(Split(Cel.Value, ",")) > 0 Then
            For i = 0 To UBound(Split(Cel.Value, ","))
                Set DEST = IIf(Range("A2") = "", Range("A2"), Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
                DEST.Value = Trim(Split(Cel.Value, ",")(i))
            Next i
        Else
            For i = 0 To UBound(Split(Cel.Value, ";"))
                Set DEST = IIf(Range("A2") = "", Range("A2"), Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
                DEST.Value = Trim(Split(Cel.Value, ";")(i))
            Next i
        End If
    Next Cel
    ' ajouter
    For Each o In Worksheets(Array("BdD Acteurs", "Filmographie", "Récompenses", "Biographie"))
        Sheets("Données").Columns(1).SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeConstants).Copy Destination:=o.Range("a1")
    Next
    Application.ScreenUpdating = True
End Sub

A bientôt :)
 

maval

XLDnaute Barbatruc
Re : Ajouter sur quatre feuilles

Bonjour Doublezero,

Je te remercie beaucoup seul bémol c'est que sa recopie à chaque fois toute la liste, alors qu'il serai bien qu'il rajoute uniquement les noms ajoutés à la colonne "E"

A bientôt
 

DoubleZero

XLDnaute Barbatruc
Re : Ajouter sur quatre feuilles

Re-bonjour,

... sa recopie à chaque fois toute la liste, alors qu'il serai bien qu'il rajoute uniquement les noms ajoutés à la colonne "E"...

Certes... Mais c'est le produit de la macro originale pour l'onglet "Données" (copie des valeurs les unes sous les autres, sans suppression préalable).

Nouvel essai :

Code:
Sub Séparer_v2()
    Dim Cel As Range
    Dim DEST As Range
    ' ajouter
    Dim o As Object
    Application.ScreenUpdating = False
    ' ajouter
    Range("a2:a" & Cells(Rows.Count, "a").End(xlUp).Row).Clear
    For Each Cel In Range("E2:E" & Cells(Application.Rows.Count, 5).End(xlUp).Row)
        If UBound(Split(Cel.Value, ",")) > 0 Then
            For i = 0 To UBound(Split(Cel.Value, ","))
                Set DEST = IIf(Range("A2") = "", Range("A2"), Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
                DEST.Value = Trim(Split(Cel.Value, ",")(i))
            Next i
        Else
            For i = 0 To UBound(Split(Cel.Value, ";"))
                Set DEST = IIf(Range("A2") = "", Range("A2"), Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
                DEST.Value = Trim(Split(Cel.Value, ";")(i))
            Next i
        End If
    Next Cel
    ' ajouter
    For Each o In Worksheets(Array("BdD Acteurs", "Filmographie", "Récompenses", "Biographie"))
        Sheets("Données").Columns(1).SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeConstants).Copy Destination:=o.Range("a1")
    Next
    Application.ScreenUpdating = True
End Sub

A bientôt :)
 

maval

XLDnaute Barbatruc
Re : Ajouter sur quatre feuilles

Re,

Oui sa roule, je vais t'embêter un petit peu si tu le permet je viens de m'apercevoir si cela est possible de mettre la liste en ordre alpha et supprimer les doublons SVP.
Je te remercie et te souhaite un bon WE
 

DoubleZero

XLDnaute Barbatruc
Re : Ajouter sur quatre feuilles

Re-bonjour,

Une nouvelle version...

Code:
Sub Séparer_v3()
    Dim Cel As Range
    Dim DEST As Range
    ' ----------------------------------------------- ajouter
    Dim o As Object
    Application.ScreenUpdating = False
    ' ----------------------------------------------- ajouter
    Range("a2:a" & Cells(Rows.Count, "a").End(xlUp).Row).Clear
    For Each Cel In Range("E2:E" & Cells(Application.Rows.Count, 5).End(xlUp).Row)
        If UBound(Split(Cel.Value, ",")) > 0 Then
            For i = 0 To UBound(Split(Cel.Value, ","))
                Set DEST = IIf(Range("A2") = "", Range("A2"), Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
                DEST.Value = Trim(Split(Cel.Value, ",")(i))
            Next i
        Else
            For i = 0 To UBound(Split(Cel.Value, ";"))
                Set DEST = IIf(Range("A2") = "", Range("A2"), Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
                DEST.Value = Trim(Split(Cel.Value, ";")(i))
            Next i
        End If
    Next Cel
    ' ----------------------------------------------- ajouter
    With Range("a:a")
        .RemoveDuplicates Columns:=1, Header:=xlYes
        .Sort Range("a1"), xlAscending, Header:=xlYes
    End With
    For Each o In Worksheets(Array("BdD Acteurs", "Filmographie", "Récompenses", "Biographie"))
        Sheets("Données").Columns(1).SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeConstants).Copy Destination:=o.Range("a1")
    Next
    Application.ScreenUpdating = True
End Sub

A bientôt :)
 

maval

XLDnaute Barbatruc
Re : Ajouter sur quatre feuilles

Re,

Je te remercie beaucoup, je vais essayer de me dépatouiller parce que je me suis planter dans la feuille "BdD Acteurs" il était en colonne "B".
Je te remercie et te souhaite un très bon WE
 

maval

XLDnaute Barbatruc
Re : Ajouter sur quatre feuilles

Bonjour,

Après avoir essayé de me dépatouiller je n'arrive pas à mettre dans la feuille "BdD Acteurs" il était en colonne "B".

Si quelqu'un passe par là et peut m'aider?
je vous remercie d'avance
 

DoubleZero

XLDnaute Barbatruc
Re : Ajouter sur quatre feuilles

Bonjour, maval, le Forum,

Version 4 :

Code:
Sub Séparer_v4()
    Dim Cel As Range
    Dim DEST As Range
    ' ----------------------------------------------- ajouter
    Dim o As Object
    Application.ScreenUpdating = False
    ' ----------------------------------------------- ajouter
    Range("a2:a" & Cells(Rows.Count, "a").End(xlUp).Row).Clear
    For Each Cel In Range("E2:E" & Cells(Application.Rows.Count, 5).End(xlUp).Row)
        If UBound(Split(Cel.Value, ",")) > 0 Then
            For i = 0 To UBound(Split(Cel.Value, ","))
                Set DEST = IIf(Range("A2") = "", Range("A2"), Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
                DEST.Value = Trim(Split(Cel.Value, ",")(i))
            Next i
        Else
            For i = 0 To UBound(Split(Cel.Value, ";"))
                Set DEST = IIf(Range("A2") = "", Range("A2"), Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
                DEST.Value = Trim(Split(Cel.Value, ";")(i))
            Next i
        End If
    Next Cel
    ' ----------------------------------------------- ajouter
    With Range("a:a")
        .RemoveDuplicates Columns:=1, Header:=xlYes
        .Sort Range("a1"), xlAscending, Header:=xlYes
    End With
    For Each o In Worksheets(Array("Filmographie", "Récompenses", "Biographie"))
        Sheets("Données").Columns(1).SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeConstants).Copy Destination:=o.Range("a1")
    Next
    Sheets("Données").Columns(1).SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeConstants).Copy Destination:=Sheets("BdD Acteurs").Range("b1")
    Application.ScreenUpdating = True
End Sub

A bientôt :)
 

maval

XLDnaute Barbatruc
Re : Ajouter sur quatre feuilles

Bonjour,

Suite au code de DoubleZero que je remercie encore j'ai un petit souci au niveau du rangement qui se fait par ordre alpha dans chaque feuille mais les autres colonne ne suive pas il me décale toute les colonnes.
Si quelqu'un passe par là je le remercie d'avance, je joint mon fichier avec les explications.

Bonne journée.
 

Pièces jointes

  • ajouter-automatiquement-dans-plusieurs-feuilles.xlsm
    50.7 KB · Affichages: 59

Discussions similaires

Réponses
5
Affichages
186
Réponses
6
Affichages
453

Statistiques des forums

Discussions
312 595
Messages
2 090 103
Membres
104 378
dernier inscrit
neovo