Récupérer les informations d'une feuille
pitch02
Messages postés
44
Statut
Membre
-
DjiDji59430 Messages postés 4278 Date d'inscription Statut Membre Dernière intervention -
DjiDji59430 Messages postés 4278 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous, je rencontre un problème sous Excel.
J'ai dans mon ficher des feuilles allants de 1 à 100 (F1, F2 ... F100).
Je souhaite sur une feuille que j'ai nommé F0, récupérer sous forme de tableau les valeurs présentes dans les cases E8, J8 et O8 de chacune de mes feuilles (F1 à F100).
Cela est-il possible ?
Merci d'avance
J'ai dans mon ficher des feuilles allants de 1 à 100 (F1, F2 ... F100).
Je souhaite sur une feuille que j'ai nommé F0, récupérer sous forme de tableau les valeurs présentes dans les cases E8, J8 et O8 de chacune de mes feuilles (F1 à F100).
Cela est-il possible ?
Merci d'avance
3 réponses
-
Bonjour,
tu fais une liste a1=f0......a100=f100
en b1
=indirect(a1&"!e8") que tu descends
et bis repetita !
Crdlmt -
Bonjour,
ou en vba:
Dim Ws As Worksheet Dim DerniereLigneUtilisee As Long Sheets("FO").Range("E1").Value = "En-tete" Sheets("FO").Range("J1").Value = "En-tete" Sheets("FO").Range("O1").Value = "En-tete" DerniereLigneUtilisee = Sheets("FO").Range("E" & Rows.Count).End(xlUp).Row + 1 ' + 1 = 1ère ligne vide For Each Ws In Worksheets If Ws.Name = "FO" Then Else Sheets("FO").Range("E" & DerniereLigneUtilisee).Value = Sheets(Ws.Name).Range("E8").Value Sheets("FO").Range("J" & DerniereLigneUtilisee).Value = Sheets(Ws.Name).Range("J8").Value Sheets("FO").Range("O" & DerniereLigneUtilisee).Value = Sheets(Ws.Name).Range("O8").Value DerniereLigneUtilisee = DerniereLigneUtilisee + 1 End If Next Ws
-
-
Ce mettre sur la feuille concernée FO, Faire Alt F11 pour accéder à l'éditeur et mettre ce code:
Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Application.Intersect(Target, Range("A1")) Is Nothing Then lancermacro End If End Sub Private Sub lancermacro() Dim Ws As Worksheet Dim DerniereLigneUtilisee As Long Sheets("FO").Range("E1").Value = "En-tete" Sheets("FO").Range("J1").Value = "En-tete" Sheets("FO").Range("O1").Value = "En-tete" DerniereLigneUtilisee = Sheets("FO").Range("E" & Rows.Count).End(xlUp).Row + 1 ' + 1 = 1ère ligne vide Application.ScreenUpdating = False For Each Ws In Worksheets If Ws.Name = "FO" Then Else Sheets("FO").Range("E" & DerniereLigneUtilisee).Value = Sheets(Ws.Name).Range("E8").Value Sheets("FO").Range("J" & DerniereLigneUtilisee).Value = Sheets(Ws.Name).Range("J8").Value Sheets("FO").Range("O" & DerniereLigneUtilisee).Value = Sheets(Ws.Name).Range("O8").Value DerniereLigneUtilisee = DerniereLigneUtilisee + 1 End If Next Ws Application.ScreenUpdating = True End Sub
a chaque sélection de A1 la macro sera déclenchée
Ensuite enregistrer: Classeur Excel prenant en charge les macros
Voilà
-
-
Merci pour vos réponses.
Je pense que je n'ai pas été clair sur mon problème.
Je souhaite dans la feuille F0 pouvoir récupérer les données présentes dans les cases E8, J8 et O8 des autres feuilles allant de F1 à F100. De façon à avoir un tableau avec les différentes valeurs dans cette feuille F0.