Récupérer les informations d'une feuille
pitch02
Messages postés
44
Statut
Membre
-
DjiDji59430 Messages postés 4297 Date d'inscription Statut Membre Dernière intervention -
DjiDji59430 Messages postés 4297 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
- Entrer les informations d'identification reseau - Guide
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Comment imprimer en a5 sur une feuille a4 - Guide
- Récupérer compte yahoo sans numéro de téléphone - Guide
- Imprimer feuille excel sur une page - Guide
3 réponses
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