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 -
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
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:
- Onglet variable dans une formule conditionnelle
- Excel mise en forme conditionnelle formule - Guide
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Rouvrir onglet fermé chrome - Guide
4 réponses
Bonjour,
Au passage, étrange votre code, mettre le classeur sur https://www.cjoint.com/ et poster le lien !
Au passage, étrange votre code, mettre le classeur sur https://www.cjoint.com/ et poster le lien !
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
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