Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Aide macro copier des cellules d'onglet dans un autre onglet

  • Initiateur de la discussion Initiateur de la discussion medinmars
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

medinmars

Guest
Bonjour,

Je voudrais faire une macro qui permettrait de copier coller automatiquement des cellules d'onglets les unes à la suite des autres dans un autre onglet.

Voici un petit exemple.
La plage de données de chaque onglet va varier

Merci pour votre aide 🙂
 

Pièces jointes

Bonjour,
Cela pourrait ressembler à ceci:
Code:
Sub CopieJJ()
    Dim sh As Worksheet, Derlg As Long
    Sheets("Tous").Activate
    Cells.Clear
    Application.ScreenUpdating = False
    For Each sh In ThisWorkbook.Worksheets
        If sh.Name <> ActiveSheet.Name Then
            Derlg = sh.Cells(sh.Rows.Count, "A").End(xlUp).Row
            sh.Range("a1:d" & Derlg).Copy
            Range("a" & Cells(Rows.Count, "A").End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
        End If
    Next
    Application.ScreenUpdating = True
End Sub
 

Pièces jointes

Dernière édition:
Bonjour a tous ce sujet se rapporche de ce que je cherche a avoir,
J'ai un macro dans mon fichier qui donne un resUltat (voir onglet RESUME),sauf que je souhaite le resultat (voir onglet RESULTAT CHERCHE)
en esperant de reponse de votre part , j'ai joint le fichier
Cordialement.
 

Pièces jointes

Bonjour,
Essaye ceci

VB:
Sub presentation()
    Dim Sh As Worksheet, Lig&
    Application.ScreenUpdating = False
    Sheets("RESUME").Cells.Clear
    Lig = 1
    For Each Sh In Sheets(Array("janvier", "fevrier", "mars")) 'ici ajouter le nom(exact) des feuilles s'il y a lieu
        With Sheets("RESUME")
            .Cells(Lig, 1) = Sh.Name
            .Range(.Cells(Lig, 1), .Cells(Lig, 4)).HorizontalAlignment = xlCenterAcrossSelection
            Lig = Lig + 1
            Sh.UsedRange.Copy .Cells(Lig, 1)
            Lig = .Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
        End With
    Next
    Application.ScreenUpdating = True
End Sub

*Ajouté...
Une version (V2) qui tient compte des éventuels mois ajouter sans avoir à modifier le code.
A condition que les noms de feuille soient rédigés par un nom de mois reconnu.
"février" et non pas "fevrier" "août" et non pas "aout" etc....
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…