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

XL 2013 Incrémenter une feuille issue d'autres feuilles

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 !

matteo0701

XLDnaute Junior
Bonjour,
Je souhaite automatisé un "copier/coller" mais j'imagine qu'il faille passer par une macro que je ne maitrise pas.
Je souhaite que les informations contenues dans la colonne G et I de CHAQUE feuille (TOUS et ORLEANS) soit 'copiées" dans la colonne B de la feuille "DI" et que dans la colonne C de cette feuille soit repris le nom de la feuille d'ù vient cette information.
Et ainsi de suite à chaque que je créerais une donnée dans la colonne G des feuilles TOURS et ORLEANS.

sur le fichier joint je pense que ce sera plus clair avec le fichier joint.

Merci par avance
 

Pièces jointes

si, on pourrait lancer la macro automatiquement à chaque fois que tu actives la feuille DI

voir exemple ci joint
dans l'évènement "Activate" de la feuille DI, j'appelle la macro "Rassemble"
la meme qui est appelée quand tu cliques sur le bouton
 

Pièces jointes

Merci j'y suis presque mais j'avais juste oubliée de dire que j'allais crée une feuille "Accueil" et donc je ne veux pas que la macro scan cette feuille
 

Pièces jointes

Hello
suffit d'ajuster le code

VB:
Sub rassemble()

Dim tablo() As Variant 'déclaration d'un tableau VBA
With Sheets("DI") ' avec les feuille DI
    .UsedRange.Offset(1, 0).Clear 'on efface tout SAUF la première ligne
End With
For Each ws In Worksheets 'pour chaque feuille du classeur
    If ws.Name <> "DI" And ws.Name <> "ACCUEIL" Then 'si le nom de la feuille testée est différent de DI
        With ws 'avec la feuille testée
            fin = .Range("B" & .Rows.Count).End(xlUp).Row 'on récupère le numéro de la dernière ligne en colonne B
            tablo = .Range("G5:I" & fin).Value 'on met de G5 à I fin dans le tablo
        End With
        For i = LBound(tablo, 1) To UBound(tablo, 1)
            tablo(i, 2) = ws.Name 'on met le nom de la feuille dans la seconde colonne du tableau
        Next i
        With Sheets("DI") 'on colle le tablo dans la feuille DI
            .Range("A" & .Rows.Count).End(xlUp).Offset(1, 0).Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo
        End With
    End If
Next ws
End Sub
 

ca marche enfin presque car quand j'ai fait mon projet final je rencontre un bug car la macro reprend la première ligne du tableau

Ce sera ma dernière sollicitation , après je ne vous dérange plus.
 

Pièces jointes

Bonjour
regarde le code et execute le en mode pas à pas (touche F8)

le "problème" vient du fait que ta colonne B n'est pas remplie ==> fin =5 et donc, il prend la première ligne d'entete
si on cherche la dernière ligne sur la colonne F (dans ton exemple, c'est la seule remplie) il aura bien fin=7,et la c'est ok

VB:
Sub rassemble()
Dim tablo() As Variant 'déclaration d'un tableau VBA
With Sheets("DI") ' avec les feuille DI
     .UsedRange.Offset(1, 0).Clear 'on efface tout SAUF la première ligne
End With
For Each ws In Worksheets 'pour chaque feuille du classeur
     If ws.Name <> "DI" And ws.Name <> "Accueil" Then 'si le nom de la feuille testée est différent de DI
         With ws 'avec la feuille testée
             fin = .Range("F" & .Rows.Count).End(xlUp).Row 'on récupère le numéro de la dernière ligne en colonne F
             tablo = .Range("F6:H" & fin).Value 'on met de G5 à H fin dans le tablo
         End With
         For i = LBound(tablo, 1) To UBound(tablo, 1)
             tablo(i, 2) = ws.Name 'on met le nom de la feuille dans la seconde colonne du tableau
         Next i
         With Sheets("DI") 'on colle le tablo dans la feuille DI
             .Range("A" & .Rows.Count).End(xlUp).Offset(1, 0).Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo
         End With
     End If
Next ws
End Sub
==> il faut donc que la recherche de "fin" se fasse sur une colonne dont tu es certain qu'elle sera TOUJOURS remplie jusqu'en bas
 
- 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

Discussions similaires

Réponses
4
Affichages
151
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…