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

Afficher cellule d'un onglet à partir du nom situé dans une cellule

Magg

XLDnaute Junior
Bonjour,

J'ai fait une macro qui me liste le nom de tous les onglets (Colonne B)
Je souhaiterai avoir une formule ou quelque chose que me permette d'afficher la cellule G3 de tous les onglets.

Exemple :
Colonne B Colonne C
Onglet A Afficher la cellule G3 de l'onglet A
Onglet B Afficher la cellule G3 de l'onglet B
Onglet C Afficher la cellule G3 de l'onglet C

Je ne sais pas comment faire pour chercher à partir d'un nom d'onglet.
Si quelqu'un à une idée, je suis preneuse
Magali.
 

JM27

XLDnaute Barbatruc
bonjour
et si tu fournissais ton fichier anonymisé ou pour le moins ta macro?

par exemple :
VB:
'Sélectionne la cellule A154 de la Feuil1 et "Scroll" l'écran
Sub AllerA()
Application.GoTo Reference:=Worksheets("Feuil1").Range("B154"), Scroll:=True
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Maag, bonjour le forum,

Peut-être comme ça :

VB:
Sub Macro1()
Dim NB As Integer 'déclare la variable NB (NomBre)
Dim I As Integer 'déclare la variable I (Incrément)
Dim TBO() As Variant 'déclare la variable TBO (TaBleau des Onglets)

NB = Sheets.Count 'définit le nombre d'onglet NB
ReDim TBO(1 To NB, 1 To 2) 'redimensionne le tableau des onglets TBO
For I = 1 To NB 'boucles sur tous les onglets I du classeurs
    TBO(I, 1) = Sheets(I).Name 'recupère le nom de l'onglet de la boucle
    TBO(I, 2) = Sheets(I).Range("g3").Value 'récupère la valeur de la cellule G3 de l'onglet de la boucle
Next I 'prochain onglet de la boucle
Sheets(1).Range("A2").Resize(NB, 2).Value = TBO 'renvoie le tableau TBO dans la cellule A2 du premier onglet du classeur
End Sub

[Édition]
Oops, j'ai pas rafraîchi, bonjour JM, nos posts se sont croisés. Magg, essaie d'adapter...
 

JM27

XLDnaute Barbatruc
Bonjour

salut Robert
de ce que j'ai compris
( danns mon premier post je croyais que tu voulais aller sur la cellule)
ma version
VB:
Sub Snamelist()
Dim i As Integer
    Range("B3").Select
    For i = 1 To Sheets.Count
        Cells(i + 2, 2) = Sheets(i).Name
        Cells(i + 2, 3) = Sheets(Sheets(i).Name).Range("G3")
    Next i
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…