Nom onglets dans onglet recap VBA

Bonjour,

J'ai, grace à l'un de vous, pu récupérer un code VBA qui me permette de récapituler différents onglets sur un seul onglet récap.

Un immense merci. Il me manque néanmoins un tout petit bout... et je ne sais comment faire. je vais me lancer dans une formation VBA mais là, je dois rendre ce travail rapidement.

Voila, le code me récapitule toutes les lignes de saisie de différents onglets. J'aimerai que dans l'onglet "récap" s'ajoute dans la première colonne le nom de l'onglet d'origine pour chaque ligne.

Voici le code:

Sub RegroupeFeuilles() 'dans "Récap"

Dim Lg&, Sh As Worksheet, f As Worksheet

Set f = Sheets("Récap")

f.Range("a2:g" & f.[a65000].End(xlUp).Row).ClearContents 'efface Récap

For Each Sh In Worksheets

If Sh.Name <> f.Name And Sh.Name <> "bdd" And Sh.Name <> "tables" And Sh.Name <> "Process" Then 'feuilles à ne pas traiter

Lg = Sh.Range("a" & Rows.Count).End(xlUp).Row

Sh.Range("a7:g" & Lg).Copy Destination:= _

f.Range("b" & Rows.Count).End(xlUp)(2)

End If

Next

End Sub

En vous remerciant chaleureusement de votre aide,

Sophie

Bienvenue sur le forum,

Comme ça on va pouvoir te faire une réponse adaptée.

Bonne journée.

Re-bonjour,

Oups, je vous joins le fichier.

Merci pour tout,

Sophie

Bonjour

Code à essayer.

Sub RegroupeFeuilles() 'dans "Récap"
Dim Lg&, Sh As Worksheet, f As Worksheet
Dim plg As Integer, nb As Integer
Set f = Sheets("Récap")
f.Range("a2:g" & f.[a65000].End(xlUp).Row).ClearContents    'efface Récap
For Each Sh In Worksheets
    If Sh.Name <> f.Name And Sh.Name <> "bdd" And Sh.Name <> "tables" And Sh.Name <> "Process" Then       'feuilles à ne pas traiter
        Lg = Sh.Range("a" & Sh.Rows.Count).End(xlUp).Row
        plg = f.Range("a" & f.Rows.Count).End(xlUp).Row + 1
        Sh.Range("a7:g" & Lg).Copy f.Range("b" & Rows.Count).End(xlUp)(2)
        nb = Lg - 6
        f.Range("a" & plg & ":a" & nb + 1) = Sh.Name
    End If
Next
End Sub

J'ai modifié la feuille UT1 en supprimant la colonne A afin qu'elle soit identique aux feuille Ut2 et Ut3

Si ok et terminé merci de cloîtrer le fil en cliquant sur le V vert à coté du bouton Editer lors de votre réponse.

Cordialement

Salut Dan sophiebg,

Sauf erreur de ma part. J'ai testé ta macro dan et ça écrit le nom du dernier onglet sur toute les valeurs de la colonne A.

capture sophiebg

Voila ma correction ci-dessous.

A voir aussi si elle veut conserver la colonne A de l'onglet ut1

Sub RegroupeFeuilles2() 'dans "Récap"
Dim Lg&, Sh As Worksheet, f As Worksheet
Dim plg As Integer, nb As Integer
Set f = Sheets("Récap")
f.Range("a2:g" & f.[a65000].End(xlUp).Row).ClearContents    'efface Récap
For Each Sh In Worksheets
    If Sh.Name <> f.Name And Sh.Name <> "bdd" And Sh.Name <> "tables" And Sh.Name <> "Process" Then       'feuilles à ne pas traiter
       Lg = Sh.Range("a" & Sh.Rows.Count).End(xlUp).Row
        plg = f.Range("a" & f.Rows.Count).End(xlUp).Row + 1
        Sh.Range("a7:g" & Lg).Copy f.Range("b" & Rows.Count).End(xlUp)(2)
        nb = f.Range("B" & Sh.Rows.Count).End(xlUp).Row
        f.Range("a" & plg & ":a" & nb) = Sh.Name
    End If
Next
End Sub

Bonne journée

Bonjour Dan,

je suis désolée, cela ne fonctionne pas du tout.

je joins mon fichier. j'ai fait des saisies dans les 3 onglets pour lesquels j'aimerai que les données soient récapitulées sur une seule base (j'ai supprimé aussi la colonne en trop de UT1, je faisais des essais).

Dans l'onglet "récap" (celui qui a ma macro), j'ai ajouté l'info que je voudrais voir apparaître en colonne A (en rouge). c'est le nom de l'onglet dans lequel on trouve cette saisie (colonne B a G).

J'espère être claire...

Merci encore


Bonjour nonesofar13,

Ca fonctionne !! Et je ne conserve pas la colonne A de UT1 !!

Merci beaucoup. a moi de déchiffrer ce que vous avez fait pour pouvoir le comprendre et le refaire !

Bonne journée et merci encore pour la réactivité

Sophie

Rechercher des sujets similaires à "nom onglets onglet recap vba"