Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/12/2011, 18h40   #1
Invité régulier
 
Femme
Inscription : décembre 2011
Messages : 25
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : décembre 2011
Messages : 25
Points : 9
Points : 9
Par défaut Je n'arrive pas à faire fonctioner Vlookup.

Bonjour à tous,
j'ai essayé tout ce que j'ai trouvé dans les post précédents mais je n'arrive pas à faire fonctionner un Vlookup.
J'ai une erreur 1004 : "impossible de lire la propriété Vlookup de la classe WorksheetFunction". J'ai regardé dans l'aide en ligne (il y a juste une vidéo), j'ai regardé ce que faisait l'enregisteur de macro, j'ai copié des bouts de code trouvés à gauche et à droite mais rien n'y fait.
Est-ce que quelqu'un pourrait avoir la gentillesse de jeter un oeil d'expert dessus ? Il n'y a aucune évidence pour un débutant et je boucle sans doute sur quelque chose de simple mais je ne m'en sors vraiment pas.
Merci beaucoup.
PS : j'ai mis des valeurs en dur pour le test.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
Dim RelationClient As String
Dim MoisSuivi As String
Dim Plage As String
 
    FichierImport = "SFP_SSAAMM_Nom Projet_CODEARAMIS.xlsx"
    Workbooks(FichierImport).Sheets("KSF").Activate
    Workbooks(FichierImport).Sheets("KSF").Range("A9").Select
 
    MoisSuivi = "01/05/2011"  
    Plage = "A9:B23"
 
    RelationClient = WorksheetFunction.VLookup(MoisSuivi, Range(Plage), 2, False)
mep1607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2011, 18h56   #2
Expert Confirmé Sénior
 
Avatar de Qwazerty
 
Homme Stéphane
La très haute tension :D
Inscription : avril 2002
Messages : 2 446
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Âge : 32
Localisation : France

Informations professionnelles :
Activité : La très haute tension :D
Secteur : Service public

Informations forums :
Inscription : avril 2002
Messages : 2 446
Points : 4 620
Points : 4 620
Envoyer un message via MSN à Qwazerty
Salut

Lorsque VLookUp fait une recherche, il ne regarde pas le contenu que tu vois affiché dans la cellule (01/05/2011) mais la vrai valeur de la date, qui est représente par un nombre décimal (40664) (la partie décimale c'est pour les heures).
Donc tu dois convertir avant de faire ta recherche.
attention car l'erreur qui est générée le sera du moment que la valeur recherchée n'existe pas dans la matrice, il serait donc bien de gérer ce cas.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub teste()
Dim RelationClient As String
Dim FichierImport As String
Dim MoisSuivi As Date
Dim Plage As String
 
FichierImport = "SFP_SSAAMM_Nom Projet_CODEARAMIS.xlsx"
'Inutile de selectionner pour travailler sur un onglet
'Workbooks(FichierImport).Sheets("KSF").Activate
'Workbooks(FichierImport).Sheets("KSF").Range("A9").Select
 
MoisSuivi = CDate("01/05/2011")
Plage = "A9:B23"
 
RelationClient = WorksheetFunction.VLookup(CDbl(MoisSuivi), Workbooks(FichierImport).Sheets("KSF").Range(Plage), 2, False)
End Sub
++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
HammerFest
Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/12/2011, 19h08   #3
Invité régulier
 
Femme
Inscription : décembre 2011
Messages : 25
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : décembre 2011
Messages : 25
Points : 9
Points : 9
Merci beaucoup Qwaz mais il me dit
Citation:
Erreur d'exécution 13 - Incompatibilité de type.
Tu as une idée de ce que cela veut dire ?

J'ai trouvé.
Ma date était en string, je l'ai mis en double !
Merci Qwaz, tu es un ange !
mep1607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2011, 19h11   #4
Invité régulier
 
Femme
Inscription : décembre 2011
Messages : 25
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : décembre 2011
Messages : 25
Points : 9
Points : 9
Par défaut J'avais lu trop vite

Tu l'avais mis en format date, je ne savais pas que ça existait.
Merci, tu m'as appris plein de choses en une seule fois.
mep1607 est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h06.


 
 
 
 
Partenaires

Hébergement Web