Onglet variable dans une formule conditionnelle

Résolu
ubu29 Messages postés 4 Statut Membre -  
Le Pingou Messages postés 12273 Date d'inscription   Statut Non membre Dernière intervention   -
Bonjour,


Je vous adresse des lignes de code qui ne fonctionnent pas . Mon problème vient du nom de l'onglet qui change à chaque boucle et le code ne le reconnait pas .

Je vous remercie par avance de l'aide que vous pourrez m'apporter.

Function SheetName() As String
Application.Volatile
SheetName = Application.Cells.Parent.Name
End Function

Sub futur()
Call SheetName

Sheets("Param1").Select
nbcol = Application.CountA(Rows(30))
For cpt = 3 To nbcol + 1
'On Error GoTo Gestionnaireerreurs 'En cas d'erreur aller aux gestionnaires d'erreurs'


Var = Sheets("param1").Cells(30, cpt).Value
Var_1 = Sheets("param1").Cells(29, cpt).Value

Sheets(Var).Select
Cells(3, 13).Select
ActiveCell.FormulaR1C1 = _
"=+IF(Sheetname(RC[-10])=param1!R17C1,sheetname(RC[-9])*param1!R17C5," & _
"IF(Sheetname(RC[-10])=param1!R18C1,sheetname(RC[-9])*param1!R18C5," & _
"IF(Sheetname(RC[-10])=param1!R19C1,sheetname(RC[-9])*param1!R19C5," & _
"IF(Sheetname(RC[-10])=param1!R20C1,sheetname(RC[-9])*param1!R20C5," & _
"IF(Sheetname(RC[-10])=param1!R21C1,sheetname(RC[-9])*param1!R21C5," & _
"IF(Sheetname(RC[-10])=param1!R22C1,sheetname(RC[-9])*param1!R22C5," & _
"IF(Sheetname(RC[-10])=param1!R23C1,sheetname(RC[-9])*param1!R23C5" & _
"IF(Sheetname(RC[-10])=param1!R24C1,sheetname(RC[-9])*param1!R24C5,0))))))))"

range("M3").Select
selection.AutoFill Destination:=range("M3:M10"), Type:=xlFillDefault
range("M3:M10").Select
Next

A voir également:

4 réponses

Maurice
 
Bonjour
on utilise surtout le codeName des feuilles

ex : Feuille = Feuil1.Name
ou Feuil1.Select
0
Le Pingou Messages postés 12273 Date d'inscription   Statut Non membre Dernière intervention   1 463
 
Bonjour,
Au passage, étrange votre code, mettre le classeur sur https://www.cjoint.com/ et poster le lien !

0
ubu29 Messages postés 4 Statut Membre
 
Bonjour Le pingou

le fichier est de nature professionnelle et je ne peux malheureusement pas le poster .

J'aimerai réussir à faire un script correct pour avoir le nom des feuilles variabilisées dans ma formule conditionnelle .

Cette formule fonctionne lorsqu'elle écrite ainsi avec un nom de feuill précis

ActiveCell.FormulaR1C1 = _
"=+IF(N!RC[-2]=param1!R17C1,N!RC[-1]*param1!R17C2*param1!R17C3," & _
"IF(N!RC[-2]=param1!R18C1,N!RC[-1]*param1!R18C2*param1!R18C3," & _
"IF(N!RC[-2]=param1!R19C1,N!RC[-1]*param1!R19C2*param1!R19C3," & _
"IF(N!RC[-2]=param1!R20C1,N!RC[-1]*param1!R20C2*param1!R20C3," & _
"IF(N!RC[-2]=param1!R21C1,N!RC[-1]*param1!R21C2*param1!R21C3," & _
"IF(N!RC[-2]=param1!R22C1,N!RC[-1]*param1!R22C2*param1!R22C3," & _
"IF(N!RC[-2]=param1!R23C1,N!RC[-1]*param1!R23C2*param1!R23C3," & _
"IF(N!RC[-2]=param1!R24C1,N!RC[-1]*param1!R24C2*param1!R24C3,0))))))))"


Merci de votre aide
0
Le Pingou Messages postés 12273 Date d'inscription   Statut Non membre Dernière intervention   1 463
 
Bonjour,
Merci, mais cette extrait du code ne me permet pas de vous aider sans avoir la structure du classeur.
Note : un extrait du fichier sans les données confidentielles peut suffire .... !
Comme membre inscrit il est possible de mettre le lien sur un MP à vous de voir.

0