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   -
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

3 réponses

DjiDji59430 Messages postés 4331 Date d'inscription   Statut Membre Dernière intervention   703
 
Bonjour,

tu fais une liste a1=f0......a100=f100
en b1
=indirect(a1&"!e8") que tu descends

et bis repetita !


Crdlmt
0
pitch02 Messages postés 44 Statut Membre
 
Bonjour,

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 ?
0
DjiDji59430 Messages postés 4331 Date d'inscription   Statut Membre Dernière intervention   703
 
Oui t'as bien compris , et tu descends jusqu' a b100

tuto :
https://www.cjoint.com/c/HIonodV1SZZ
0
pitch02 Messages postés 44 Statut Membre
 
Si je tape =f1 dans la cellule a1 j'obtiens la valeur de la cellule f1 de ma feuille actuelle.
0
DjiDji59430 Messages postés 4331 Date d'inscription   Statut Membre Dernière intervention   703
 
faut pas mettre = il faut que ça reste du texte (dans mon tuto , je n'ai pas taper =f1) seulement f1
0
pitch02 Messages postés 44 Statut Membre
 
Ce que je souhaite en réalité c'est récupérer les données d'autres onglets.
0
cs_Le Pivert Messages postés 8437 Statut Contributeur 729
 
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


0
pitch02 Messages postés 44 Statut Membre
 
Bonjour je ne sais pas du tout codé en VBA, où dois-je insérer ce code ?

Merci
0
cs_Le Pivert Messages postés 8437 Statut Contributeur 729
 
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à
0
pitch02 Messages postés 44 Statut Membre
 
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.
0
cs_Le Pivert Messages postés 8437 Statut Contributeur 729
 
C'est ce que fait cette macro avec les en-têtes en E1, J1 et O1 et les données de toutes les feuilles dans les colonnes E, J et O. Mais l'on peut changer les destinations, c'est à toi de le dire!
0
pitch02 Messages postés 44 Statut Membre
 
D'accord je dois mal m'y prendre. Je vais regarder quelques tutos sur la création des macros afin de mieux cerner ces dernières.

Merci pour ton aide.
0
cs_Le Pivert Messages postés 8437 Statut Contributeur 729
 
Voici un exemple:

https://www.cjoint.com/c/HIooeIfiVoQ

@+
0