Fonction recherche très avancée

rominet72

XLDnaute Nouveau
Bonjour
Je bute sur un sujet de recherche de valeurs dans des cellules avec extraction...

Dans une feuille excel, qui comporte 4 colonnes ABCD, et un nombre légèrement variable de lignes, je cherche à extraire une valeur de la colonne C correspondante à une valeur connue de la colonne A. Les colonnes B et D ne me servent à rien.

En colonne A, j’ai des cellules du format « AAAA/MM/JJ HH :MM », et en colonne C, des cellules prenants des valeurs type nombre décimal.

Mon but est de pouvoir extraire la valeur de la colonne C (la copier vers une autre feuille), si en colonne A (à copier aussi pour repérage dans le temps), j'ai (par exemple) 20160901 00:00. Le top du top, si je n'ai pas de valeurs 20160901 00:00, alors recherche automatique de 20160901 00:15.

Merci pour votre aide
 

pierrejean

XLDnaute Barbatruc
Re

Il n'y a jamais de MDP dans mes fichiers
Et le code est le suivant:


Private Sub CommandButton1_Click()
tablo = Range("A1:D" & Range("A" & Rows.Count).End(xlUp).Row)
ecart = 9 ^ 9
For n = LBound(tablo, 1) To UBound(tablo, 1)
If Abs(CDbl(tablo(n, 1)) - CDbl(CDate(Me.TextBox1))) < ecart Then
ecart = Abs(CDbl(tablo(n, 1)) - CDbl(CDate(Me.TextBox1)))
a = tablo(n, 1)
b = tablo(n, 3)
End If
Next
Sheets("W").Range("A2") = a
Sheets("W").Range("B2") = b
Sheets("W").Select
Unload Me
End Sub
 

rominet72

XLDnaute Nouveau
Pierrejean,
Par quoi remplaces-tu le smiley après A1? merci


Private Sub CommandButton1_Click()
tablo = Range("A1:D" & Range("A" & Rows.Count).End(xlUp).Row)
ecart = 9 ^ 9
For n = LBound(tablo, 1) To UBound(tablo, 1)
If Abs(CDbl(tablo(n, 1)) - CDbl(CDate(Me.TextBox1))) < ecart Then
ecart = Abs(CDbl(tablo(n, 1)) - CDbl(CDate(Me.TextBox1)))
a = tablo(n, 1)
b = tablo(n, 3)
End If
Next
Sheets("W").Range("A2") = a
Sheets("W").Range("B2") = b
Sheets("W").Select
Unload Me
End Sub
 

pierrejean

XLDnaute Barbatruc
Re
Voila, voila, les ablutions sont faites les courses aussi
Le code en version originale
Code:
Private Sub CommandButton1_Click()
tablo = Range("A1:D" & Range("A" & Rows.Count).End(xlUp).Row)
ecart = 9 ^ 9
For n = LBound(tablo, 1) To UBound(tablo, 1)
    If Abs(CDbl(tablo(n, 1)) - CDbl(CDate(Me.TextBox1))) < ecart Then
        ecart = Abs(CDbl(tablo(n, 1)) - CDbl(CDate(Me.TextBox1)))
        a = tablo(n, 1)
        b = tablo(n, 3)
    End If
Next
Sheets("W").Range("A2") = a
Sheets("W").Range("B2") = b
Sheets("W").Select
Unload Me
End Sub

@ tapomme: Peux-tu rassurer Rominet sur l'absence de MDP
 

rominet72

XLDnaute Nouveau
Bonjour, Bonjour

Je viens de prendre connaissance des dernières infos, avec le code brut.
Je vais le copier dans dans mon fichier excel de travail, de le travailler pour faire une double recherche (deux heures différentes), c'est comme cela que l'on apprend, et éventuellement domine la bête :D
Merci beaucoup du coup de pouce! vraiment
 

rominet72

XLDnaute Nouveau
Bonjour

Selon le fichier créé par PierreJean, est-il possible de le modifier afin d'extraite la première valeur du jour 1 et la dernière valeur du jour 1, ceci sur une période d'1 mois?
J'ai 11 autres fichiers à gérer de cette manière......
Merci par avance de votre aide
 

Pièces jointes

  • DATA DAMPS2 201509.xls
    1.1 MB · Affichages: 45

Discussions similaires

  • Question
Microsoft 365 excel
Réponses
6
Affichages
429

Statistiques des forums

Discussions
311 722
Messages
2 081 930
Membres
101 843
dernier inscrit
Thaly