Microsoft 365 Variable dans une cellule

  • Initiateur de la discussion Initiateur de la discussion delube
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
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.
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Formules
Réponses
2
Affichages
693
Réponses
22
Affichages
3 K
Retour