Filtre avec correspondance

Bonjour,

Après des recherches sur internet et plusieurs expérimentations, je ne parviens pas à trouver la bonne méthode pour arriver à mes fins.

Je souhaite calculer la distance entre deux points GPS pris à la même heure avec deux GPS différents.

Malheureusement, les heures (en format hh:mm:ss) ne correspondent pas tout à fait d'un GPS à l'autre. J'ai donc réalisé un calcul pour connaître la valeur la plus proche, ce qui fonctionne. (voir feuille GPS2

12exemple-forum.xlsx (110.01 Ko)

)

A partir de ces nouvelles données correspondant aux heures du GPS 2 proches de celles du GPS 1, je pourrais connaître la position du GPS 2 à la même heure que celle du GPS 1 (à quelques secondes près). Cependant, lorsque je lance le filtre avancé, certaines données ne sont pas comptées, et manquent donc à l'appel... Auriez-vous des solutions adaptées, qui puissent automatiser ma démarche de préférence ?

Je vous remercie pour votre aide

Cordialement,

clacla

Bonjour clacla94,

Je prend un exemple concret de ton fichier, dis moi si c'est bien ce que tu veux faire:

Si je prend

GPS 1 -> 21:03:57 Y1 X1

Alors je prend

GPS 2 -> 21:03:45 Y8 X8

et donc je calcule

Distance² = (Y1 - Y8)² + (X1 - X8)²

C'est bien ça l'idée? Et tu veux faire ça pour toutes les valeurs de GPS1 ou de GPS2? (Si tu as 25 mesures pour GPS1 et 37 pour le GPS2 tu auras un soucis dans un cas)

Bonjour d3d9x,

Oui c'est ça l'idée, et ce de manière automatisée. Je ne m'étais même pas rendue compte que les valeurs que j'ai obtenues en GPS 2 n'étaient pas les plus proches du GPS 1... merci de me l'avoir fait remarquer. Du coup je suppose que ma formule en E pour la valeur la plus proche est fausse ?

Avez-vous une idée de comment procéder ?

Merci

Oui j'ai une idée, par contre si je ne m'abuse tes données GPS couvrent plusieurs journées. Il faut donc préciser selon moi ces informations

(Au lieu de juste mettre l'heure dans la cellule, avoir la date complète, jour + mois + année + heure + minute + seconde)

----- EDIT ------

Voilà quelques fonctions VBA qui, une fois adaptées, répondront à ton besoin. En gros je t'ai créé une procédure "rechercherCorrespondance" qui s'appelle et s'utilise de la façon suivante (suffit de regarder ce qui est écrit dans "test)

rechercherCorrespondance var1, var2

où var1 est l'heure testée -> var1 = Sheets("GPS1").Range("A2")

où var2 est le NOM de la feuille où rechercher l'horaire le plus proche -> var2 = "GPS2"

à l'exécution, un message indique la ligne avec l'écart de temps le + faible, à savoir dans notre cas la ligne 9 de la feuille GPS2

Public Sub rechercherCorrespondance(ByVal heurePourRecherche As Date, ByVal feuilleOuFaireRecherche As String)
'Cas de recherche: Notre base c'est le temps du GPS1
'heurePourRecherche = heure du GPS1
'feuilleOuFaireRecherche = "GPS2" vu qu'on veut l'heure la plus proche pour le GPS2

Dim numLigne As Integer, deltaTempsMin As Double, ligneMin As Integer, heureTemp As Date

deltaTempsMin = 9999

For numLigne = 2 To Sheets(feuilleOuFaireRecherche).Cells(Rows.Count, "A").End(xlUp).Row
    With Sheets(feuilleOuFaireRecherche)
        heureTemp = .Cells(numLigne, 1)
        If Abs(heureTemp - heurePourRecherche) < deltaTempsMin Then
            deltaTempsMin = Abs(heureTemp - heurePourRecherche)
            ligneMin = numLigne
        End If
    End With
Next numLigne
MsgBox "La correspondance est trouvée ligne " & ligneMin
End Sub

Public Sub test()
Dim monTest As Date
monTest = Sheets("dGPS1").Range("A2").Value
rechercherCorrespondance monTest, "GPS2"

End Sub

C'est cela, c'est sur deux jours. voici le fichier avec la colonne date + heure

5exemple-forum.xlsx (153.41 Ko)

si ça peut vous aider... merci

EDIT 2:

Voilà ton fichier modifié. Je te laisse découvrir le magnifique bouton à cliquer et admirer le résultat. Mais attention, il faudra que tu fasses très attention à la notion de jours !!!!!!!!

10exemple-forum.xlsm (126.39 Ko)

Merci pour les fonctions VBA ! je suis totalement néophyte dans ce domaine, je vais m'y pencher de plus près, car ça me paraît très utile...

Super pour le fichier, c'est magique !

Pour la notion de jours, effectivement ça me donne du fil à retordre dans plusieurs de mes autres calculs... je vais essayer avec date + heure, ça pourra peut être les régler plus simplement !

Je vais tester tout ça voir si ça fonctionne.

Merci beaucoup pour votre aide d3d9x

Bonjour

Je reviens vers vous car j'ai voulu modifier le code pour l'adapter à d'autres fichiers, mais je n'y arrive pas décidément... afin de tenir compte des remarques précédentes, j'ai modifié mes données date + heure, et j'ai également, modifié mon fichier ci-joint afin de le modifier au minimum par la suite, au cas où je ne comprendrais toujours pas comment faire...

Je vous embête une dernière fois, si vous voulez bien m'indiquer comment procéder une nouvelle fois..!

Merci beaucoup

Bonne journée,

Clacla

5exemple-forum.xlsx (187.29 Ko)

Au final dans ce document, le GPS de "référence" c'est bien le GPS B?

Voilà ton fichier en partant du principe que le GPS de référence est le GPS B

12exemple-forum.xlsm (209.17 Ko)

Oui c'est exactement ça, merci infiniment !

Bonne journée

Cordialement,

Clacla

Rechercher des sujets similaires à "filtre correspondance"