Collecter des données dans plusieurs onglets

  • Initiateur de la discussion Initiateur de la discussion Sebasti1
  • 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 !

S

Sebasti1

Guest
Bonjour,

Mon problème est le suivant:

J'ai un fichier excel qui contient 6 onglets.
Sur chaque onglet, il y a une cinquantaine de lignes
Dans ces 50 lignes, il y en a un certain nombre (variable au quotidien de 0 à ~50) qui ont un numéro en colonne A (numéros croissants).

Ce que j'aimerais, c'est collecter des infos dans ces lignes ayant un numéro en colonne A pour les mettre dans un tableau final (je n'ai pas besoin de toutes les colonnes).

Mais je ne sais pas comment faire ni comment appliquer la formule dans mon tableau final pour que celui-ci répertorie les lignes voulues dans tous les onglets.

Merci d'avance pour votre aide car je sèche complètement 😕

Sébastien
 
Re : Collecter des données dans plusieurs onglets

Bonsoir Sébastien, bonsoir le forum,

Je te propose de créer un onglet supplémentaire dans ton fichier et de le nommer Récap. Tu peux, si tu le désires, écrire dans cet onglet de A1 à E1 les étiquettes. Ensuite tu lances la macro ci-desous :
Code:
Sub Macro1()
Dim o As Object 'déclare la variable o (Onglet)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)

For Each o In Sheets 'boucle 1 : sur tous les onglets du classeur
    If o.Name <> "Récap" Then 'condition 1 : si le nom de l'onglet est diffférent de "Récap"
        Set pl = o.Range("A1:A" & o.Cells(Application.Rows.Count, 1).End(xlUp).Row) 'définit la plage pl
        For Each cel In pl 'boucle 2 sur toutes les cellules cel de la plage pl
            If cel.Value <> "" Then 'condition 2 : si la cellule cel n'est pas vide
                'définit la cellule de destination dest (première cellule vide de la colonne A de l'onglet "Récap")
                Set dest = Sheets("Récap").Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)
                dest.Value = cel.Value 'place dans dest A la valeur de la colonne A
                'place à partir de la colonne B les valeurs des colonnes F, G, H, et I
                dest.Offset(0, 1).Value = o.Range(cel.Offset(0, 5), cel.Offset(0, 8))
            End If 'fin de la condition 2
        Next cel 'prochaine cellule de la boucle 2
    End If 'fin de la condition 1
Next o 'prochain onglet de la boucle 1
End Sub

Ç devrait s'adapter à ton fichier...
 
Re : Collecter des données dans plusieurs onglets

Robert,

Un grand merci, le résultat intermédiaire, me donne exactement ce que je recherchais.

Peut-être à bientôt pour d'autres questions!!

Bien cordialement,

Sébastien
 
- 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

Réponses
4
Affichages
309
Retour