Comparer des dates
HWAM
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
HWAM Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
HWAM Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Voila j'ai un problème assez complexe que je n'arrive pas à résoudre.
J'ai, dans une feuille 1 un intervalle de temps constitué de 2 dates ( colone A date 1, colone B date 2) et qui correspondent à une numéro de voiture
Dans une feuil 2, j'ai une infinité de dates d'utilisations avec des intervalles différents entre les dates pour chaque numéro de voiture (environ 30 à chaque fois).
Ce que j'arrive très bien a faire s'est pour chauqe numéro de voiture trouver les dates mais ce que je souhaite réélement c'est séléctionner les 10 premières dates après la première date 1 de l'intervalle dans la feuille 1 et les 10 dernières dates avant la date 2 de l'intervalle en feuil 1 (séléctioner les lignes)
Je ne sais pas si j'ai été assez précis ? Je m'en sors bein niveau code mais je ne vois pas comment je peux le construire et quels conditions mettre ?
Merci pour votre aide
Voila j'ai un problème assez complexe que je n'arrive pas à résoudre.
J'ai, dans une feuille 1 un intervalle de temps constitué de 2 dates ( colone A date 1, colone B date 2) et qui correspondent à une numéro de voiture
Dans une feuil 2, j'ai une infinité de dates d'utilisations avec des intervalles différents entre les dates pour chaque numéro de voiture (environ 30 à chaque fois).
Ce que j'arrive très bien a faire s'est pour chauqe numéro de voiture trouver les dates mais ce que je souhaite réélement c'est séléctionner les 10 premières dates après la première date 1 de l'intervalle dans la feuille 1 et les 10 dernières dates avant la date 2 de l'intervalle en feuil 1 (séléctioner les lignes)
Je ne sais pas si j'ai été assez précis ? Je m'en sors bein niveau code mais je ne vois pas comment je peux le construire et quels conditions mettre ?
Merci pour votre aide
A voir également:
- Comparer des dates
- Nombre de jours entre deux dates excel - Guide
- Comparer prix amazon - Guide
- Meilleur prix Amazon : payer moins cher avec Amazin'Europe - Accueil - Commerce
- Comment trier des dates par mois sur excel - Guide
- Comparer pdf - Télécharger - PDF
2 réponses
Bonjour Hwam, bonjour le forum,
Tout cela serait bien plus clair avec un fichier exemple reprenant la structure de ton fichier original et contenant une poignée de données... Dans un onglet ce que tu as avant et dans un autre ce que tu voudrais après...
Tout cela serait bien plus clair avec un fichier exemple reprenant la structure de ton fichier original et contenant une poignée de données... Dans un onglet ce que tu as avant et dans un autre ce que tu voudrais après...
Re,
Si j'ai bien compris essaie comme ça :
Si j'ai bien compris essaie comme ça :
Sub Macro1() Dim C As Worksheet 'déclare la variable C (onglet Consomation) Dim VA As Worksheet 'déclare la variable VA (onglet VOITURE AVANT ) Dim TC As Variant 'déclare la variable TC (Tableau Consomation) Dim TVA As Variant 'déclare la variable TVA (Tableau Voiture Avant) Dim I As Integer 'déclare la variable I (Incrément) Dim J As Integer 'déclare la variable J (incrément) Dim K As Byte 'déclare la variable K (incrément) Dim T As Double 'déclare la variable T (Total) Dim N As Integer 'déclare la variable N (Nombre) Set C = Worksheets("consomation") 'définit l'onglet C Set VA = Worksheets("VOITURE AVANT ") 'définit l'onglet AV TC = C.Range("A1").CurrentRegion 'définit le tableau TC TVA = VA.Range("A1").CurrentRegion 'définit le tableau TVA For I = 2 To UBound(TVA, 1) 'boucle 1 : sur toutes les lignes I du tableau TVA (en partant de la seconde) For J = 2 To UBound(TC, 1) 'boucle 2 : sur toutes les lignes J du tableau TC (en partant de la seconde) 'condition : si les numéros et les dates correspondent (en colonne 2 pour les date de TVA) If TVA(I, 1) = TC(J, 1) And TVA(I, 2) = TC(J, 2) Then For K = J To J + 9 'boucle 3 : sur 10 lignes à partir de J 'si le numéros correspondent, ajoute la consommation de chaque ligne, définit le nombre N If TVA(I, 1) = TC(K, 1) Then T = T + TC(K, 3): N = N + 1 Next K 'prochaine ligne de la boucle 3 TVA(I, 4) = T / N 'renvoie dans la donnée ligne I colonne 4 de TVA la moyenne du total par le nombre End If 'fin de la condition T = 0: N = 0 'réinitialise les variable T et N 'condition : si les numéros et les dates correspondent (en colonne 3 les dates de pour TVA) If TVA(I, 1) = TC(J, 1) And TVA(I, 3) = TC(J, 2) Then For K = J - 9 To J 'boucle 4 : sur 10 lignes de J-9 à J 'si le numéros correspondent, ajoute la consommation de chaque ligne, définit le nombre N If TVA(I, 1) = TC(K, 1) Then T = T + TC(K, 3): N = N + 1 Next K 'prochaine ligne de la boucle 4 TVA(I, 5) = T / N 'renvoie dans la donnée ligne I colonne 5 de TVA la moyenne du total par le nombre End If 'fin de la condition Next J 'prochaine ligne de la boucle 2 Next I 'prochaine ligne de la boucle 1 VA.Range("A1").CurrentRegion.ClearContents 'efface le contenu des valeurs de l'onglet VA VA.Range("A1").Resize(UBound(TVA, 1), UBound(TVA, 2)).Value = TVA 'renvoie le tableau TVA dans A1 redimensionnée de l'onget VA End Sub
j'y arrive très bien pour les 10 premières dates après acquisition
Heu... Quand tu crèves un pneu, tu amènes la roue ou une photo de la roue pour la faire réparer ?
N'ayant pas un niveau de cador, j'ai par habitude de tester les codes que je propose. Pour cela il me faudrait recréer ton fichier. Ni le temps ni l'envie...
Regarde du coté de https://www.cjoint.com (ou bien d'autres hébergeurs de fichier) pour nous envoyer un fichier...
Excuse moi je ne connaissais pas cette possibilité. Voila le lien ci_Joint : https://www.cjoint.com/c/HGzm0Mm7J6A
Merci encore pour ton aide :) c'est vraiment sympa !!