Récupérer les informations d'une feuille
pitch02
Messages postés
44
Statut
Membre
-
DjiDji59430 Messages postés 4331 Date d'inscription Statut Membre Dernière intervention -
DjiDji59430 Messages postés 4331 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
A voir également:
- Récupérer les informations d'une feuille
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Entrer les informations d'identification reseau - Guide
- Comment recuperer une video sur youtube - Guide
- Récupérer mon compte facebook désactivé - Guide
- Bruler feuille de laurier - Guide
3 réponses
Bonjour,
tu fais une liste a1=f0......a100=f100
en b1
=indirect(a1&"!e8") que tu descends
et bis repetita !
Crdlmt
tu fais une liste a1=f0......a100=f100
en b1
=indirect(a1&"!e8") que tu descends
et bis repetita !
Crdlmt
Bonjour,
ou en vba:
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:
a chaque sélection de A1 la macro sera déclenchée
Ensuite enregistrer: Classeur Excel prenant en charge les macros
Voilà
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 cette réponse
Si j'ai bien compris je tape dans la cellule a1=f1 puis a2=f2 ... a100=f100.
Puis je tape =indirect(a1&"!e8") dans b1 ?
tuto :
https://www.cjoint.com/c/HIonodV1SZZ