Excel Formule comportant le nom d'une feuille
INFSON
Messages postés
23
Statut
Membre
-
Mike-31 Messages postés 19571 Statut Contributeur -
Mike-31 Messages postés 19571 Statut Contributeur -
Bonjour
J'ai dans la "feuil1" de mon classeur une colonne E comportant la liste des noms de feuille de mon classeur
je souhaiterai récupérer dans la feuille 1 en regard de chaque ligne la valeur de la cellule B2 de chacune des feuilles sans avoir à taper
chaque fois le nom de la feuille dans la formule =nom de feuille!B2
Est-il possible de faire ça sans passer par du code VBA ?
Merci d'avance
J'ai dans la "feuil1" de mon classeur une colonne E comportant la liste des noms de feuille de mon classeur
je souhaiterai récupérer dans la feuille 1 en regard de chaque ligne la valeur de la cellule B2 de chacune des feuilles sans avoir à taper
chaque fois le nom de la feuille dans la formule =nom de feuille!B2
Est-il possible de faire ça sans passer par du code VBA ?
Merci d'avance
A voir également:
- Excel Formule comportant le nom d'une feuille
- Formule si et excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Liste déroulante excel - Guide
- Excel mise en forme conditionnelle formule - Guide
- Feuille de pointage excel - Télécharger - Tableur
5 réponses
Bonsoir,
essaye comme cela
en colonne A à partir de A2 le nom de ton premier onglet
essaye comme cela
=INDIRECT(A2&"!"&"B2")
en colonne A à partir de A2 le nom de ton premier onglet
Bonjour
Merci mais ça ne fonctionne pas
j'ai essayé en VBA
Sub test()
Dim i As Variant
'position nement en colonne C
ActiveCell.Select
'récupération de la valeur de l'onglet en colonne E
i = ActiveCell.Offset(0, 2).Value
'affectation de cette valeur à la cellule selectionnée en colonne C
ActiveCell.Value = [i!B2]
End Sub
ça plante également à ce niveau ActiveCell.Value = [i!B2]
Cordialement
Merci mais ça ne fonctionne pas
j'ai essayé en VBA
Sub test()
Dim i As Variant
'position nement en colonne C
ActiveCell.Select
'récupération de la valeur de l'onglet en colonne E
i = ActiveCell.Offset(0, 2).Value
'affectation de cette valeur à la cellule selectionnée en colonne C
ActiveCell.Value = [i!B2]
End Sub
ça plante également à ce niveau ActiveCell.Value = [i!B2]
Cordialement
Re,
je viens de retester ma formule qui fonctionne parfaitement;
si tu as colonne E à partir de E2 la liste des noms de tes onglets il n'y a pas de problème sauf si les noms saisis colonne E et le nom des onglets ne sont pas parfaitement identiques
et la formule est bien
si tu n'arrives pas à adapter, le mieux serait de mettre à disposition un exemple de ton fichier et le problème sera le même s'il y a une différence entre les deux rapports
autrement la ligne de commande en VBA est toute simple
ou tu fais une boucle
et si tu veux prévoir des onglets qui n'existent pas encore
on pourrait également faire un code qui s'adapterait à la colonne, tu vois que les solutions sont multiples
je viens de retester ma formule qui fonctionne parfaitement;
si tu as colonne E à partir de E2 la liste des noms de tes onglets il n'y a pas de problème sauf si les noms saisis colonne E et le nom des onglets ne sont pas parfaitement identiques
et la formule est bien
=INDIRECT(E2&"!"&"B2")
si tu n'arrives pas à adapter, le mieux serait de mettre à disposition un exemple de ton fichier et le problème sera le même s'il y a une différence entre les deux rapports
autrement la ligne de commande en VBA est toute simple
Sub test() ActiveCell.Offset(0, 2).Value = Sheets(ActiveCell.Value).[B2] End Sub
ou tu fais une boucle
For Each cel In Range("E2:E4")
cel.Offset(0, 2).Value = Sheets(cel.Value).[B2]
Next cel
et si tu veux prévoir des onglets qui n'existent pas encore
On Error Resume Next
For Each cel In Range("E2:E20")
cel.Offset(0, 2).Value = Sheets(cel.Value).[B2]
Next cel
on pourrait également faire un code qui s'adapterait à la colonne, tu vois que les solutions sont multiples
Bonjour
Effectivement la fonction =INDIRECT(F2&"!"&"B2") fonctionne
Merci pour cette fonction que est déjà une excellente solution
J'ai testé le vba ça fonctionne aussi
J'ai adapté pour correspondre à mon souhait de voir le résultat en colonne B de l'onglet Sommalre
( par ailleurs mes noms d'onglets sont en fait dans colonne F et non E )
Ci-dessous le fichier test dans lequel j'ai mis le code
fichier c-joint
https://www.cjoint.com/c/KHFrT0AqAT4
Grand merci pour ton aide efficace
Cordialement
Effectivement la fonction =INDIRECT(F2&"!"&"B2") fonctionne
Merci pour cette fonction que est déjà une excellente solution
J'ai testé le vba ça fonctionne aussi
J'ai adapté pour correspondre à mon souhait de voir le résultat en colonne B de l'onglet Sommalre
( par ailleurs mes noms d'onglets sont en fait dans colonne F et non E )
Ci-dessous le fichier test dans lequel j'ai mis le code
fichier c-joint
https://www.cjoint.com/c/KHFrT0AqAT4
Grand merci pour ton aide efficace
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
Récupère ton fichier, j'ai mis le code test2 directement dans les propriétés d'un bouton ActiveX, clic sur le bouton et les dates colonne B s'actualiseront
https://www.cjoint.com/c/KHFuzUqMYyF
j'ai également corrigé le code test1 et test2
Récupère ton fichier, j'ai mis le code test2 directement dans les propriétés d'un bouton ActiveX, clic sur le bouton et les dates colonne B s'actualiseront
https://www.cjoint.com/c/KHFuzUqMYyF
j'ai également corrigé le code test1 et test2