Problème avec fonction HLookup

Fermé
Holtlion31 Messages postés 26 Date d'inscription jeudi 6 février 2014 Statut Membre Dernière intervention 1 juin 2016 - Modifié par Holtlion31 le 20/04/2016 à 15:28
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 - 20 avril 2016 à 17:39
Bonjour à tous.

J'ai un planning de l'année 2016 (01/01/2016 au 31/12/2016)
Mes dates sont en lignes: Ma plage est donc G4 à JG4
Je suppose que la fonction HLookup est celle qu'il me faut mais je n'en suis pas sur

J'aimerai dire: J'ai une date: le 13/01/2016, je cherche cette date dans ma plage G4 à JG4. Une fois que j'ai trouvé la date, je sélectionne la cellule située 3 lignes en dessous de la cellule de la date.

En résumé: ma date cherchée est 13/01/2016. Je la cherche dans la plage G4 à JG4. Dans cet exemple, je me positionne sur O4 + 3 lignes, donc je sélectionne la cellule O7.

J'ai juste besoin de ce bout de code, le reste est ok.
Quelqu'un connais le code?

Merci :)

4 réponses

ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
20 avril 2016 à 15:42
Bonjour

Un exemple (avec Find)
http://www.cjoint.com/c/FDunP4HQiNQ

Cdlmnt
0
Holtlion31 Messages postés 26 Date d'inscription jeudi 6 février 2014 Statut Membre Dernière intervention 1 juin 2016
20 avril 2016 à 16:01
Alors c'est peut être find qu'il me faut finalement.
Je vais essayer d'adapter avec mon fichier

Merci
0
Holtlion31 Messages postés 26 Date d'inscription jeudi 6 février 2014 Statut Membre Dernière intervention 1 juin 2016
20 avril 2016 à 17:25
Je ne m'en sort pas
Voici le code:

Sub Planning_auto()

' Définition des variables
Dim a As Integer
Dim m As String
Dim obj As Object
Dim col As Long
Dim Li As Long

' Valeur maxi de mes variables lors des boucles
m = Sheets("Tableau de Synthèse").Range("B1").Value

For a = 1 To m
Sheets("Tableau de Synthèse").Range("K" & a + 2).Select
Set obj = Rows(4).Find(ActiveCell, , , xlWhole)
If Not obj Is Nothing Then
col = obj.Column
Li = 4 + a + 1
ActiveCell.Value = Range("I" & a + 2).Value
End If

Next a

End Sub

Je n'arrive pas, une fois la date trouvée, à aller chercher la valeur que je veux et la coller dans la cellule sélectionner

Pouvez-vous m'aider svp?
0
Holtlion31 Messages postés 26 Date d'inscription jeudi 6 février 2014 Statut Membre Dernière intervention 1 juin 2016
20 avril 2016 à 17:28
Ah oui de plus, lorsque je lance le code, il me change ma date, ici "13/01/2016" en "01/01/1900 12:00:00", idem pour la 2ème, mais pas les autres

Je ne comprends pas pourquoi
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
Modifié par ccm81 le 20/04/2016 à 17:40
1. La variable Li est affectée et non utilisée.
Li = 4 + a + 1
2. idem pour la variable col
col = obj.Column
3. Difficile d'en dire plus sans voir le fichier
Peux tu envoyer la partie concernée de ton fichier, sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu

Cdlmnt
0