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

Problème VLookUp !?

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 !

Novice avance !?

XLDnaute Occasionnel
bonjour,
voici le fichier test et je ne vois pas où se trouve le problème dans le code vba



Private Sub CommandButton1_Click()
Label1.Caption = Calendar1.Value
Label2.Caption = WorksheetFunction.VLookup(Calendar1.Value, Range("A1:B20"), 2, 0)
End Sub


merci par avance
bonne journée
 

Pièces jointes

Re : Problème VLookUp !?

Bonjour novice avance,

après plusieurs tests, il semble que VBA n'aime pas beaucoup les dates dans les VLookUp. Je n'ai trouvé qu'une solution : ajouter un CLng

Application.WorksheetFunction.VLookup(CLng(Calendar1.Value), ActiveSheet.Range("A1:B20"), 2, False)
 
Dernière édition:
Re : Problème VLookUp !?

Bonjour,

ce n'est pas vraiment un reponse ... mais juste un indice

je remarque que lorsque l'on rentre les dates de la colonnes 'A' en format texte, c'est a dire en tapant : 'jj/mm/aaaa
cela fonctionne ...

J'ai essayé divers changement de format sans autres resultats ... desolé


Aahhh les dates dans excel ... que du plaisir ! 🙂

Edit : Ah ben Oui le Clng je l'avais pas assayé celui là 🙂
 
Dernière modification par un modérateur:
Re : Problème VLookUp !?

Bonjour à tous,

Bien vue TotoTiti2008 😉

Le code fonctionne bien avec CLng()

Après plusieurs tests, c'est la seule façon
Code:
Private Sub CommandButton1_Click()
  Dim VDate, Result, RngSearch As Range, SearchDate As String
  ' Définition des variables
  VDate = UserForm1.Calendar1.Value
  Set RngSearch = Sheets("Feuil1").Range("A1:B20")
  On Error Resume Next
  ' NE FONCTIONNE PAS
  'Result = Application.WorksheetFunction.VLookup(DateValue(VDate), RngSearch, 2, False)
  ' NE FONCTIONNE PAS
  'Result = Application.Evaluate("=RECHERCHEV(DATEVAL(""" & VDate & """" & ");A1:B20;2;FAUX)")
  ' FONCTIONNE
  Result = Application.WorksheetFunction.VLookup(CLng(VDate), RngSearch, 2, False)
  On Error GoTo 0
  '
  UserForm1.Label1.Caption = VDate
  UserForm1.Label2.Caption = Result
End Sub

A+
 
Re : Problème VLookUp !?

Bonjour à tous,

Conclusion de nos tests communs :
C'est donc à retenir, la recherche des dates avec WorksheetFunction.Vlookup ou WorksheetFunction.Match nécessite un CLng (si date seule) ou CDbl (si date et heure) pour fonctionner.

Toujours intéressant à savoir... 😉

Bonne journée à tous
 
- 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

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