Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Récupération d'info

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

R

Ronan

Guest
Salut à toutes et à tous.

Voilà mon problème, je cherche une fonction ou une combine pour réaliser un tableau qui récupère en feuil1 des infos de feuil2, 3, … qui n’existe pas encore !!!
En A2 feuil1 > je voudrai l’info A2 feuil2, en A3 feuil1 > je voudrai l’info A3 feuil2…
En A3 feuil1 > je voudrai l’info A2 feuil3, en A3 feuil1 > je voudrai l’info A3 feuil3…
- …
et tout cela alors que les feuilles ne sont pas encore crées, cela est réalisable avec des formules classiques si l’ensemble des feuilles est crées en utilisant =’onglet !A2, mais je ne connais pas encore le nom de mes onglets et je pensai qu’en passant par du VBA en utilisant l’adresse de la feuille ( Feuil1, feuil2 … ) ce serait possible.
Si quelqu’un m’a compris et a une solution, merci à lui.
Ronan.
 
Bonjour Ronan

Si j'ai bien compris ton problème, voici une Function VBA à mettre dans un module.

Public Function DerniereFeuille() as string
DerniereFeuille = Sheets(Sheets.Count).Name
End Function

Elle retourne le nom de la dernière feuille du classeur, attention cela dépend de l'emplacement c'est celle placée à l'extrême droite.

Pour l'employer tu as plusieurs solutions
=INDIRECT("'"& DerniereFeuille() & "'!A2"), les ' sont utile quand le nom de la feuille contient un espace, ils ne gênent pas dans l'autre cas.
ou
=INDIRECT(ADRESSE(2;1;;;DerniereFeuille()))

@+Jean-Marie
 
Merci a toi Jean Marie, c'est un bon début, mais avec ces formules je ne récupère que les infos de la dernière feuille, et voudrai également récupèrer les infos présente dans l'ensemble des autres feuilles.
Ronan.
 

Pièces jointes

Bonjoure

Essaye un truc dans ce style

Public Sub vev()
Dim c As Range
Dim i As Byte
For Each c In Range("a3:a" & Range("a500").End(xlUp).Row)
On Error Resume Next
For i = 1 To 15
c.Offset(0, i).Value = Sheets(c.Value).Cells(2, i).Value
Next i
Next c
End Sub

salut
Hervé
 
Merci Hervé.
C'est parfait pour moi, juste une chose maintenant, comment peut on récupèrer dans une cellule A1 le nom de l'onglet de la feuil1, en A2 le nom de l'onglet de la feuil3 ect..
Ronan
 
re

le tout combiné

Public Sub vev()
Dim c As Range
Dim i As Byte
Dim n As Integer
n = 1
For Each ws In Worksheets
Range("a" & n).Value = ws.Name
n = n + 1
Next ws
For Each c In Range("a2:a" & Range("a500").End(xlUp).Row)
On Error Resume Next
For i = 1 To 15
c.Offset(0, i).Value = Sheets(c.Value).Cells(2, i).Value
Next i
Next c
End Sub


Attention de bien partir de la cellule A2, pour le renvoi des données, a moins que tu veuilles aussi récupérer les infos de ta feuille de travaille.

Salut
Hervé
 
- 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
16
Affichages
2 K
Réponses
3
Affichages
570
Réponses
36
Affichages
3 K
Réponses
6
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…