OVH Cloud OVH Cloud

Référence

1 réponse
Avatar
ppinede
Bonjour
Dans la formule suivante, [Analytique07.xls]toto! fait référence au classeur
analytique07 feuille toto.
=SOMMEPROD((JOURS360([Analytique07.xls]toto!$A$2:$A$273;"01/01/07")<=0)*(JOU
RS360([Analytique07.xls]toto!$A$2:$A$273;"01/02/07")>0)*([Analytique07.xls]t
oto!D$2:D$273))
Comment puis-je au lieu d'écrire toto indiquer une référence de cellule
contenant toto car si je remplace toto par A3 par exemple cela ne marche
pas.
Merci d'avance

1 réponse

Avatar
MichDenis
Je ne pense pas que tu puisse scinder cette formule pour remplacer
le nom de la feuille de la liaison par une référence à une cellule
contenant le nom de la feuille.

Cependant, tu peux te créer une petite macro qui aura pour objet
de remplacer (substituer) à volonté le nom de la feuille par un autre

NB : Au lieu de demander les noms des feuilles, tu peux faire référence
au contenu des cellules spécialement dédiées à cette tâche !

'---------------------------------
Sub SubstituerNomFeuille()

Dim Sh As Worksheet, F As Range, Z As String
Dim Ancien As String, Nouveau As String

Ancien = Application.InputBox("Ancien nom de la feuille")
Nouveau = Application.InputBox("Nom nouveau de la feuille")

On Error Resume Next
If Ancien <> "" And Nouveau <> "" Then
For Each Sh In Worksheets
With Sh.Cells
Set F = .Find(What:=Ancien, _
LookIn:=xlFormulas, LookAt:=xlPart)
If Not F Is Nothing Then
adr = F.Address
Do
Z = F.Formula
Z = Replace(Z, Ancien, Nouveau, , , vbTextCompare)
F.Formula = Z
Set F = .FindNext(F)
Loop While Not F Is Nothing And F.Address <> adr
End If
End With
Next
End If
End Sub
'---------------------------------



"ppinede" a écrit dans le message de news:
457e54d5$0$5066$
Bonjour
Dans la formule suivante, [Analytique07.xls]toto! fait référence au classeur
analytique07 feuille toto.
=SOMMEPROD((JOURS360([Analytique07.xls]toto!$A$2:$A$273;"01/01/07")<=0)*(JOU
RS360([Analytique07.xls]toto!$A$2:$A$273;"01/02/07")>0)*([Analytique07.xls]t
oto!D$2:D$273))
Comment puis-je au lieu d'écrire toto indiquer une référence de cellule
contenant toto car si je remplace toto par A3 par exemple cela ne marche
pas.
Merci d'avance