Microsoft 365 Variable dans une cellule

delube

XLDnaute Nouveau
Bonjour,
Voici mon problème :
Je déclare une variable qui pourra être utilisée dans un certain nombre de formules :
tpserie = Application.VLookup(Range("B2"), Sheets("Infos").Range("I7:K16"), 3, False)

Et je voudrai l'intégrer à une autre formule :
formulehoraires = "=SI(NBVAL(F4:F21)=0;"""";B4 + tpserie)"

Afin de pouvoir recopier cette dernière dans un tableau :

Cells(nblignes + 4, 2).Select
ActiveCell.FormulaLocal = formulehoraires
Cells(nblignes + 4, 2).Select
Selection.AutoFill Destination:=Range(Cells(nblignes + 4, 2), Cells(max, 2)), Type:=xlFillDefault

J'ai essayé avec des "", des ", INDIRECT(""tpserie""), INDIRECT ("tpserie") etc., rien ne fonctionne...

En vous remerciant d'avance...
 
Solution
Bonjour Delube,
tpserie est une notation VBA.
Vous ne pouvez pas intégrer une notation VBA dans une formule XL.
Mais vous pouvez intégrer un formule perso :
VB:
Sub essai()
Formulehoraires = "=SI(NBVAL(F4:F21)=0;"""";B4 + tpserie(N)"
'Afin de pouvoir recopier cette dernière dans un tableau :
Cells(nblignes + 4, 2).Select
ActiveCell.FormulaLocal = Formulehoraires
Cells(nblignes + 4, 2).Select
Selection.AutoFill Destination:=Range(Cells(nblignes + 4, 2), Cells(Max, 2)), Type:=xlFillDefault
End Sub
Function tpserie(Var)   ' Var non utilisée
      tpserie = Application.VLookup(Range("B2"), Sheets("Infos").Range("I7:K16"), 3, False)
End Function

Je ne garantis pas le résultat je ne l'ai pas testé. Mais le principe est bon.

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Delube,
tpserie est une notation VBA.
Vous ne pouvez pas intégrer une notation VBA dans une formule XL.
Mais vous pouvez intégrer un formule perso :
VB:
Sub essai()
Formulehoraires = "=SI(NBVAL(F4:F21)=0;"""";B4 + tpserie(N)"
'Afin de pouvoir recopier cette dernière dans un tableau :
Cells(nblignes + 4, 2).Select
ActiveCell.FormulaLocal = Formulehoraires
Cells(nblignes + 4, 2).Select
Selection.AutoFill Destination:=Range(Cells(nblignes + 4, 2), Cells(Max, 2)), Type:=xlFillDefault
End Sub
Function tpserie(Var)   ' Var non utilisée
      tpserie = Application.VLookup(Range("B2"), Sheets("Infos").Range("I7:K16"), 3, False)
End Function

Je ne garantis pas le résultat je ne l'ai pas testé. Mais le principe est bon.
 

delube

XLDnaute Nouveau
Bonjour Delube,
tpserie est une notation VBA.
Vous ne pouvez pas intégrer une notation VBA dans une formule XL.
Mais vous pouvez intégrer un formule perso :
VB:
Sub essai()
Formulehoraires = "=SI(NBVAL(F4:F21)=0;"""";B4 + tpserie(N)"
'Afin de pouvoir recopier cette dernière dans un tableau :
Cells(nblignes + 4, 2).Select
ActiveCell.FormulaLocal = Formulehoraires
Cells(nblignes + 4, 2).Select
Selection.AutoFill Destination:=Range(Cells(nblignes + 4, 2), Cells(Max, 2)), Type:=xlFillDefault
End Sub
Function tpserie(Var)   ' Var non utilisée
      tpserie = Application.VLookup(Range("B2"), Sheets("Infos").Range("I7:K16"), 3, False)
End Function

Je ne garantis pas le résultat je ne l'ai pas testé. Mais le principe est bon.

Impeccable, je te remercie beaucoup
Bonne journée
 

Discussions similaires

  • Question
Microsoft 365 Formules
Réponses
2
Affichages
464

Statistiques des forums

Discussions
312 609
Messages
2 090 200
Membres
104 451
dernier inscrit
scp9990