Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème avec Application.Evaluate

  • Initiateur de la discussion Initiateur de la discussion sb_guido
  • 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 !

S

sb_guido

Guest
Bonjour à tous,

J'ai appris à utiliser la méthode Application.Evaluate pour permettre de calculer une formule directement à partir du VBEditor.

Quand j'écris ce code, tout est correct!

Code:
Dim BedColumn as Integer
Dim Availability As Integer
Dim RoomName As String
Dim RoomNumber as Name  'this is a Named Range from excel's Name Manager

BedColumn = 112
RoomName = RoomNumber.Name

Availability = Application.Evaluate("VLOOKUP(B14,DATA!A1:EW36," & BedColumn & ",FALSE)")

Par contre, le code ci-dessous génère une erreur à cause de BedColumn = App...

Code:
Dim BedColumn as Integer
Dim Availability As Integer
Dim RoomName As String
Dim RoomNumber as Name  'this is a Named Range from excel's Name Manager

RoomName = RoomNumber.Name

BedColumn = Application.Evaluate("VLOOKUP(" & RoomName & ",LIST!C5:D50,2,FALSE)")
Availability = Application.Evaluate("VLOOKUP(B14,DATA!A1:EW36," & BedColumn & ",FALSE)")

Le VLOOKUP du BedColumn fonctionne dans une feuille Excel, mais pas à l'intérieur de mon code. Je ne comprend tout simplement pas pourquoi le Availability fonctionne mais pas le BedColumn...

Merci à tous pour vos suggestions!

Sebastien
 
Re : Problème avec Application.Evaluate

Bonjour à tous,

le problème a été résolu grâce à frangy :
Code:
BedColumn = Application.Evaluate("VLOOKUP(""" & RoomName & """,LIST!C5:D50,2,FALSE)")

Merci à tous pour le dernier petit effort!



Staple1600: le MsgBox affiche effectivement 3. J'avais aussi essayé en tentant de reproduire ta procédure mais en vain...
 
Re : Problème avec Application.Evaluate

Bonjour le fil

Sp_guido, tu n'as pas daigné répondre à mon message #12

je te signale juste comme ça au passage que ce code
Code:
BedColumn = Application.VLookup(RoomName, Sheets("List").Range("C5:D50"), 2, False)
fonctionne également 🙄 et est plus facile à mettre en place, mais bon ...
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
8
Affichages
952
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…