OVH Cloud OVH Cloud

Extraire le nom d'une feuille utilisée dans une formule

4 réponses
Avatar
Thierryc_44
J'ai dans une cellule une formule du genre =Lyon!B4
Comment faire pour récupérer (dans une autre cellule bien sûr) le contenu de
cette formule, c'est-à-dire =Lyon!B4 et non pas le résultat de la formule ?
Le but du jeu est d'extraire ensuite Lyon (nom de la feuille source).

Merçi d'avance pour l'info.
--
Thierry

4 réponses

Avatar
Daniel
Bonjour.
Essaie : [A2] = Range("A1").Formula
Cordialement.
Daniel
"Thierryc_44" a écrit dans le message
de news:
J'ai dans une cellule une formule du genre =Lyon!B4
Comment faire pour récupérer (dans une autre cellule bien sûr) le contenu
de
cette formule, c'est-à-dire =Lyon!B4 et non pas le résultat de la formule
?
Le but du jeu est d'extraire ensuite Lyon (nom de la feuille source).

Merçi d'avance pour l'info.
--
Thierry


Avatar
papou
Bonjour
Une fonction perso ?
A insérer dans un module standard :
Function AfficheLaFormule(LaCel As Range)
If LaCel.HasFormula = False Then
AfficheLaFormule = False
Else: AfficheLaFormule = LaCel.Formula
End If
End Function
Puis dans une cellule, formule :
¯ficheLaFormule(B4)

Il te restera ensuite à retirer ce qui t'intéresse.

Cordialement
Pascal

"Thierryc_44" a écrit dans le message
de news:
J'ai dans une cellule une formule du genre =Lyon!B4
Comment faire pour récupérer (dans une autre cellule bien sûr) le contenu
de
cette formule, c'est-à-dire =Lyon!B4 et non pas le résultat de la formule
?
Le but du jeu est d'extraire ensuite Lyon (nom de la feuille source).

Merçi d'avance pour l'info.
--
Thierry


Avatar
ChrisV
Bonjour Thierryc_44,

Avec A1 =Lyon!B4
dans une autre cellule...

=STXT(forM(A1);2;TROUVE("!";forM(A1))-2)


dans un module du classeur...

Function forM(cellule As Range)
If cellule.HasFormula = True Then
If cellule.HasArray = True Then
forM = "{" & cellule.FormulaLocal & "}"
Else
forM = cellule.FormulaLocal
End If
Else: forM = "La cellule " & cellule.Address(0, 0) & _
" ne contient pas de formule..."
End If
End Function


ChrisV


"Thierryc_44" a écrit dans le message
de news:
J'ai dans une cellule une formule du genre =Lyon!B4
Comment faire pour récupérer (dans une autre cellule bien sûr) le contenu
de
cette formule, c'est-à-dire =Lyon!B4 et non pas le résultat de la formule
?
Le but du jeu est d'extraire ensuite Lyon (nom de la feuille source).

Merçi d'avance pour l'info.
--
Thierry


Avatar
Thierryc_44
Merçi pour ta réponse.
A+

--
Thierry



Bonjour Thierryc_44,

Avec A1 =Lyon!B4
dans une autre cellule...

=STXT(forM(A1);2;TROUVE("!";forM(A1))-2)


dans un module du classeur...

Function forM(cellule As Range)
If cellule.HasFormula = True Then
If cellule.HasArray = True Then
forM = "{" & cellule.FormulaLocal & "}"
Else
forM = cellule.FormulaLocal
End If
Else: forM = "La cellule " & cellule.Address(0, 0) & _
" ne contient pas de formule..."
End If
End Function


ChrisV


"Thierryc_44" a écrit dans le message
de news:
J'ai dans une cellule une formule du genre =Lyon!B4
Comment faire pour récupérer (dans une autre cellule bien sûr) le contenu
de
cette formule, c'est-à-dire =Lyon!B4 et non pas le résultat de la formule
?
Le but du jeu est d'extraire ensuite Lyon (nom de la feuille source).

Merçi d'avance pour l'info.
--
Thierry