Filtrer les données dans un tableau

Mbo0000 -  
Mbo0000 Messages postés 21 Statut Membre -
Bonjour,
j'aimerai avoir un code qui me permet de lire un tableau 5 colonnes et 5 000 lignes
dans une feuille nommée "Données" et ensuite d'afficher les valeurs par pas de 10 dans une autre feuille nommée "valeurs à afficher".

Mon objectif est de programmer cette feuille de telle façon à parcourir toutes les
données dans "Mesures" selon le pas de temps de lecture (Pas) et ensuite d'afficher
les valeurs que je veux dans "valeurs à afficher" selon le pas de temps d'affichage (Pas_j). Dans mon fichier le pas est de 10 secondes, il arrive que je travaille avec plus (par exemples 50, 55, 60, 85 secondes).

15 réponses

  1. ThauTheme Messages postés 1564 Statut Membre 160
     
    Bonjour Mbo, bonjour le forum,

    Pas très clair tout ça !... Il y a un onglet Données, une onglet valeurs à afficher et un visiblement un onglet Mesures ?

    Un pas de 10 (nombre de lignes) un pas de temps de lecture et un pas de temps d'affichage ?

    Ce que j'ai compris c'est qu'il faut que tu définisses le nombre de lignes (pas de lignes) de l'onglet Données à afficher selon un certain temps (pas de temps) dans l'onglet valeurs à afficher avant de passer au bloc suivant.

    Est-ce ça que tu veux ?
    0
    1. Mbo0000
       
      Bonjour j'ai deux deux feuilles l'une nommée "Mesures" qui contient des données sur 4 colonnes et près de 5 000 lignes (Temps, DNI, HR, et Température). Dans cette première feuille, les données sont espacées par le temps de 10 secondes (colonne 1). Donc je veux dans cette feuille parcourir toutes les lignes et les colonnes vu le nombre très grand de lignes lire tout ça prendra du temps donc je veux le lire selon le pas que je lui donne.

      Et ensuite il y a une autre feuille nommée "Valeurs à afficher" je veux afficher les valeurs qui sont dans "Mesures" (Temps, DNI, HR et Température) selon le pas que je lui spécifie cela peut être 30 secondes, 60 secondes, 1800 secondes etc.
      0
  2. ThauTheme Messages postés 1564 Statut Membre 160
     
    Re,

    Désolé Mbo mais je ne comprends toujours pas. Pourrais-tu joindre un petit fichier exemple avec juste quelque lignes et le résultat que tu souhaite avoir en fonction du pas choisi...
    0
    1. Mbo0000 Messages postés 21 Statut Membre
       
      Temps HR DNI T_amb
      05.00.04 84.6725 -1.3848 17.9419
      05.00.14 84.6909 -1.6392 17.9272
      05.00.24 84.6848 -1.3848 17.9272
      05.00.34 84.6909 -1.3848 17.9272
      05.00.44 84.697 -1.6392 17.9199
      05.00.54 84.6909 -1.3848 17.9053
      05.01.04 84.7092 -1.3848 17.9126
      05.01.14 84.7229 -1.6392 17.9199
      05.01.24 84.7412 -1.6392 17.9199
      05.01.34 84.7595 -1.6392 17.9346
      05.01.44 84.7534 -1.3848 17.9199
      05.01.54 84.7656 -1.6392 17.9346
      05.02.04 84.7717 -1.6392 17.9272
      05.02.14 84.7916 -1.6392 17.9346
      05.02.24 84.8099 -1.6392 17.951
      05.02.34 84.8221 -1.6392 17.9272
      05.02.44 84.8404 -1.6392 17.9419
      05.02.54 84.8343 -1.6392 17.9419
      05.03.04 84.8663 -1.6392 17.9419
      05.03.14 84.8541 -1.6392 17.951
      05.03.24 84.8663 -1.6392 17.9272
      05.03.34 84.8724 -1.6392 17.9419
      05.03.44 84.8663 -1.6392 17.9272
      05.03.54 84.8846 -1.6392 17.9272
      05.04.04 84.8785 -1.6392 17.9199
      05.04.14 84.8846 -1.6392 17.9272
      05.04.24 84.8969 -1.6392 17.9346
      05.04.34 84.903 -1.6392 17.9272
      05.04.44 84.8969 -1.6392 17.9419
      05.04.54 84.903 -1.6392 17.9419
      05.05.04 84.9228 -1.6392 17.951
      05.05.14 84.9091 -1.6392 17.951
      05.05.24 84.9228 -1.6392 17.9346
      05.05.34 84.9228 -1.6392 17.951
      05.05.44 84.9289 -1.6392 17.9272
      05.05.54 84.9411 -1.6392 17.9419
      05.06.04 84.9289 -1.6392 17.9272
      05.06.14 84.9533 -1.3848 17.9346
      05.06.24 84.9472 -1.6392 17.9199
      05.06.34 84.9472 -1.3848 17.9272
      05.06.44 84.9411 -1.3848 17.9346
      05.06.54 84.9411 -1.6392 17.9053
      05.07.04 84.9716 -1.6392 17.9199
      05.07.14 84.9594 -1.6392 17.9199
      05.07.24 84.9716 -1.6392 17.9199
      05.07.34 84.9594 -1.6392 17.9126
      05.07.44 84.9655 -1.6392 17.9053
      05.07.54 84.9854 -1.6392 17.9053
      05.08.04 84.9777 -1.6392 17.9126
      05.08.14 84.9777 -1.6392 17.9199
      05.08.24 84.9716 -1.6392 17.9126
      05.08.34 84.9915 -1.6392 17.9053
      05.08.44 84.9915 -1.3848 17.9199
      05.08.54 84.9976 -1.3848 17.9053
      05.09.04 85.0098 -1.3848 17.9199
      05.09.14 85.0037 -1.3848 17.9053
      05.09.24 85.0098 -1.3848 17.9053
      05.09.34 84.9976 -1.3848 17.9053
      05.09.44 84.9915 -1.3848 17.8906
      05.09.54 84.9777 -1.3848 17.8906
      05.10.04 84.9777 -1.3848 17.876
      05.10.14 84.9915 -1.3848 17.876
      05.10.24 84.9915 -1.3848 17.8595
      05.10.34 84.9976 -1.3848 17.8668
      05.10.44 84.9976 -1.3848 17.8522
      05.10.54 85.0342 -1.3848 17.8375
      05.11.04 85.0403 -1.3848 17.8522
      05.11.14 85.0281 -1.3848 17.8595
      05.11.24 85.054 -1.3848 17.876
      05.11.34 85.0403 -1.3848 17.8906
      05.11.44 85.054 -1.3848 17.8906
      05.11.54 85.0601 -1.3848 17.9053
      05.12.04 85.0784 -1.3848 17.8833
      05.12.14 85.0845 -1.3848 17.8979
      05.12.24 85.0967 -1.3848 17.8906
      05.12.34 85.1288 -1.3848 17.9053
      05.12.44 85.1227 -1.3848 17.8979
      05.12.54 85.1166 -1.3848 17.8979
      05.13.04 85.1288 -1.3848 17.9053
      05.13.14 85.1288 -1.3848 17.8906
      05.13.24 85.1471 -1.3848 17.9199
      05.13.34 85.1288 -1.3848 17.8979
      05.13.44 85.1532 -1.3848 17.8979
      05.13.54 85.1532 -1.3848 17.9053
      05.14.04 85.1654 -1.3848 17.8906
      05.14.14 85.1715 -1.3848 17.9126
      05.14.24 85.1593 -1.3848 17.8979
      05.14.34 85.1715 -1.3848 17.9126
      05.14.44 85.1654 -1.3848 17.9053
      05.14.54 85.1654 -1.3848 17.9053
      05.15.04 85.1715 -1.3848 17.9126
      05.15.14 85.1654 -1.3848 17.8979
      05.15.24 85.1715 -1.3848 17.9053
      05.15.34 85.1532 -1.3848 17.8906
      05.15.44 85.1654 -1.3848 17.8906
      05.15.54 85.1654 -1.3848 17.8906
      05.16.04 85.1654 -1.3848 17.876
      05.16.14 85.1654 -1.3848 17.8906
      05.16.24 85.1532 -1.3848 17.876
      05.16.34 85.1715 -1.3848 17.8833
      05.16.44 85.1532 -1.3848 17.876
      05.16.54 85.1532 -1.3848 17.876
      05.17.04 85.1471 -1.3848 17.8522
      05.17.14 85.1593 -1.0457 17.8375
      05.17.24 85.1852 -1.3848 17.8375
      05.17.34 85.1654 -1.0457 17.8448
      05.17.44 85.1715 -1.0457 17.8448
      05.17.54 85.1715 -1.0457 17.8448
      05.18.04 85.1715 -1.0457 17.8448
      05.18.14 85.1654 -1.0457 17.8448
      05.18.24 85.1593 -1.0457 17.8375
      05.18.34 85.1654 -1.0457 17.8375
      05.18.44 85.1532 -1.0457 17.8229
      05.18.54 85.1532 -1.0457 17.8302
      05.19.04 85.1471 -1.0457 17.8229
      05.19.14 85.141 -1.0457 17.8082
      05.19.24 85.141 -1.0457 17.8156
      05.19.34 85.1349 -1.0457 17.8156
      05.19.44 85.1532 -1.0457 17.8009
      05.19.54 85.1532 -1.0457 17.7844
      05.20.04 85.1593 -0.7913 17.7844
      05.20.14 85.1532 -0.7913 17.7936
      05.20.24 85.1593 -0.7913 17.7936
      05.20.34 85.1852 -0.7913 17.7698
      05.20.44 85.2036 -0.7913 17.7698
      05.20.54 85.2097 -0.7913 17.7771
      05.21.04 85.2158 -0.7913 17.7844
      05.21.14 85.228 -0.7913 17.7936
      05.21.24 85.228 -0.7913 17.8009
      05.21.34 85.2341 -0.7913 17.8156
      05.21.44 85.2539 -0.7913 17.8082
      05.21.54 85.2478 -0.7913 17.7936
      05.22.04 85.26 -0.7913 17.8082
      05.22.14 85.2661 -0.7913 17.8082
      05.22.24 85.2844 -0.7913 17.8082
      05.22.34 85.2905 -0.7913 17.8156
      05.22.44 85.2783 -0.7913 17.8082
      05.22.54 85.2905 -0.7913 17.8229
      05.23.04 85.2661 -0.7913 17.8082
      05.23.14 85.2905 -0.7913 17.7936
      05.23.24 85.2905 -0.7913 17.7936
      05.23.34 85.2783 -0.7913 17.7936
      05.23.44 85.2905 -0.7913 17.7936
      05.23.54 85.2905 -0.7913 17.7771
      05.24.04 85.2905 -0.7913 17.7771
      05.24.14 85.2905 -0.7913 17.7771
      05.24.24 85.3027 -0.7913 17.7698
      05.24.34 85.3104 -0.7913 17.7771
      05.24.44 85.3104 -0.7913 17.7698
      05.24.54 85.3226 -0.7913 17.7771
      05.25.04 85.3104 -0.7913 17.7551
      05.25.14 85.3348 -0.7913 17.7625
      05.25.24 85.3287 -0.7913 17.7698
      05.25.34 85.3226 -0.7913 17.7698
      05.25.44 85.3348 -0.7913 17.7844
      05.25.54 85.3226 -0.7913 17.7771
      05.26.04 85.3287 -0.7913 17.7771
      05.26.14 85.3104 -0.7913 17.7698
      05.26.24 85.3348 -0.7913 17.7698
      05.26.34 85.3226 -0.7913 17.7771
      05.26.44 85.3165 -0.7913 17.7698
      05.26.54 85.3226 -0.7913 17.7771
      05.27.04 85.3226 -0.7913 17.7771
      05.27.14 85.3409 -0.7913 17.7771
      05.27.24 85.3348 -0.7913 17.7771
      05.27.34 85.3348 -0.7913 17.7698
      05.27.44 85.3287 -0.7913 17.7771
      05.27.54 85.3226 -0.7913 17.7551
      05.28.04 85.347 -0.7913 17.7698
      05.28.14 85.347 -0.7913 17.7478
      05.28.24 85.3531 -0.7913 17.7551
      05.28.34 85.347 -0.7913 17.7551
      05.28.44 85.3409 -0.7913 17.7551
      05.28.54 85.347 -0.7913 17.7698
      05.29.04 85.347 -0.7913 17.7698
      05.29.14 85.3592 -0.7913 17.7551
      05.29.24 85.3592 -0.7913 17.7698
      05.29.34 85.3592 -0.7913 17.7698
      05.29.44 85.3653 -0.7913 17.7771
      05.29.54 85.3653 -0.7913 17.7625
      05.30.04 85.379 -0.7913 17.7698
      05.30.14 85.3653 -0.7913 17.7551
      05.30.24 85.379 -0.7913 17.7625
      05.30.34 85.3592 -0.7913 17.7551
      05.30.44 85.3714 -0.7913 17.7551
      05.30.54 85.379 -0.7913 17.7478
      05.31.04 85.3714 -0.7913 17.7698
      05.31.14 85.379 -0.7913 17.7625
      05.31.24 85.3653 -0.7913 17.7698
      05.31.34 85.379 -0.7913 17.7551
      05.31.44 85.3653 -0.7913 17.7551
      05.31.54 85.3653 -0.7913 17.7551
      05.32.04 85.4034 -0.7913 17.7698
      05.32.14 85.3851 -0.7913 17.7258
      05.32.24 85.3912 -0.7913 17.7094
      05.32.34 85.3912 -0.7913 17.7258
      05.32.44 85.3912 -0.7913 17.7405
      05.32.54 85.3912 -0.7913 17.7405
      05.33.04 85.3973 -0.7913 17.7332
      05.33.14 85.4034 -0.7913 17.7551
      05.33.24 85.3912 -0.7913 17.7551
      05.33.34 85.4034 -0.7913 17.7405
      05.33.44 85.4095 -0.7913 17.7185
      05.33.54 85.3973 -0.7913 17.7405
      05.34.04 85.4095 -0.7913 17.7332
      05.34.14 85.4218 -0.7913 17.7258
      05.34.24 85.434 -0.7913 17.7478
      05.34.34 85.4156 -0.7913 17.7551
      05.34.44 85.4156 -0.7913 17.7551
      05.34.54 85.4034 -0.7913 17.7551
      05.35.04 85.3912 -0.7913 17.7551
      05.35.14 85.4034 -0.7913 17.7405
      05.35.24 85.3973 -0.7913 17.7185
      05.35.34 85.4095 -0.7913 17.7405
      05.35.44 85.3912 -0.7913 17.7478
      05.35.54 85.4034 -0.7913 17.7258
      05.36.04 85.4034 -0.7913 17.7258
      05.36.14 85.4034 -0.7913 17.7094
      05.36.24 85.4095 -0.7913 17.7258
      05.36.34 85.3973 -0.7913 17.7258
      05.36.44 85.4034 -0.7913 17.7258
      05.36.54 85.3912 -0.7913 17.7258
      05.37.04 85.3912 -0.7913 17.7332
      05.37.14 85.3912 -0.7913 17.7258
      05.37.24 85.3912 -0.7913 17.7258
      05.37.34 85.3912 -0.7913 17.7258
      05.37.44 85.3912 -0.7913 17.7258
      05.37.54 85.3973 -0.7913 17.7185
      05.38.04 85.3851 -0.7913 17.7094
      05.38.14 85.3851 -0.7913 17.7258
      05.38.24 85.3851 -0.7913 17.7258
      05.38.34 85.3714 -0.7913 17.7185
      05.38.44 85.3851 -0.7913 17.7094
      05.38.54 85.379 -0.7913 17.7094
      05.39.04 85.3912 -0.7913 17.702
      05.39.14 85.4034 -0.7913 17.702
      05.39.24 85.4034 -0.7913 17.6947
      05.39.34 85.4156 -0.7913 17.7094
      05.39.44 85.4156 -0.7913 17.6947
      05.39.54 85.434 -0.7913 17.6874
      05.40.04 85.4156 -0.7913 17.7094
      05.40.14 85.4218 -0.7913 17.702
      05.40.24 85.4156 -0.7913 17.7185
      05.40.34 85.4034 -0.7913 17.7094
      05.40.44 85.4156 -0.7913 17.7258
      05.40.54 85.4156 -0.7913 17.7094
      05.41.04 85.4156 -0.7913 17.7258
      05.41.14 85.4095 -0.7913 17.7332
      05.41.24 85.4156 -0.7913 17.6947
      05.41.34 85.4156 -0.7913 17.702
      05.41.44 85.4095 -0.7913 17.6874
      05.41.54 85.4218 -0.7913 17.6947
      05.42.04 85.4218 -0.7913 17.6947
      05.42.14 85.4218 -0.7913 17.7094
      05.42.24 85.434 -0.7913 17.702
      05.42.34 85.4279 -0.7913 17.7094
      05.42.44 85.434 -0.7913 17.7094
      05.42.54 85.434 -0.7913 17.6947
      05.43.04 85.4416 -0.7913 17.6947
      05.43.14 85.4218 -0.7913 17.6947
      05.43.24 85.4218 -0.7913 17.6874
      05.43.34 85.434 -0.7913 17.6874
      05.43.44 85.4279 -0.7913 17.6874
      05.43.54 85.4416 -0.7913 17.702
      05.44.04 85.4477 -0.7913 17.6947
      05.44.14 85.434 -0.7913 17.6874
      05.44.24 85.4218 -0.7913 17.6874
      05.44.34 85.434 -0.7913 17.6801
      05.44.44 85.4477 -0.7913 17.6947
      05.44.54 85.4416 -0.7913 17.6947
      05.45.04 85.4538 -0.7913 17.6874
      05.45.14 85.4538 -0.7913 17.6874
      05.45.24 85.4721 -0.7913 17.6874
      05.45.34 85.4599 -0.7913 17.6947
      05.45.44 85.4538 -0.7913 17.6947
      05.45.54 85.4599 -0.7913 17.6947
      05.46.04 85.4477 -0.7913 17.6801
      05.46.14 85.466 -0.7913 17.6874
      05.46.24 85.4599 -0.7913 17.6727
      05.46.34 85.4721 -0.7913 17.6727
      05.46.44 85.4843 -0.7913 17.6801
      05.46.54 85.5042 -0.7913 17.6727
      05.47.04 85.4904 -0.7913 17.6727
      05.47.14 85.4843 -0.7913 17.6801
      05.47.24 85.4965 -0.7913 17.6801
      05.47.34 85.4904 -0.7913 17.6727
      05.47.44 85.4843 -0.7913 17.6727
      05.47.54 85.4904 -0.7913 17.6874
      05.48.04 85.4904 -0.7913 17.6801
      05.48.14 85.5103 -0.7913 17.6874
      05.48.24 85.5225 -0.7913 17.6581
      05.48.34 85.5408 -0.7913 17.6727
      05.48.44 85.5591 -0.7913 17.6727
      05.48.54 85.5652 -0.7913 17.6874
      05.49.04 85.5728 -0.7913 17.6874
      05.49.14 85.5728 -0.7913 17.6874
      05.49.24 85.5972 -0.7913 17.6801
      05.49.34 85.585 -0.7913 17.6801
      05.49.44 85.5972 -0.7913 17.6874
      05.49.54 85.6094 -0.7913 17.702
      05.50.04 85.6155 -0.7913 17.6874
      05.50.14 85.6277 -0.7913 17.6947
      05.50.24 85.6216 -0.7913 17.6874
      05.50.34 85.6094 -0.7913 17.6874
      05.50.44 85.6094 -0.7913 17.6874
      05.50.54 85.6354 -0.7913 17.6874
      05.51.04 85.6415 -0.7913 17.6874
      05.51.14 85.6476 -0.7913 17.6874
      05.51.24 85.6659 -0.7913 17.6874
      05.51.34 85.6415 -0.7913 17.6874
      05.51.44 85.672 -0.7913 17.6727
      05.51.54 85.6964 -0.7913 17.6801
      05.52.04 85.704 -0.7913 17.6654
      05.52.14 85.7346 -0.7913 17.6801
      05.52.24 85.7407 -0.7913 17.6801
      05.52.34 85.7666 -0.7913 17.6801
      05.52.44 85.759 -0.7913 17.702
      05.52.54 85.7666 -0.7913 17.7094
      05.53.04 85.7727 -0.7913 17.7185
      05.53.14 85.7727 -0.7913 17.702
      05.53.24 85.7666 -0.7913 17.7185
      05.53.34 85.7407 -0.7913 17.7094
      05.53.44 85.7468 -0.7913 17.7258
      05.53.54 85.7285 -1.0457 17.7258
      05.54.04 85.7346 -0.7913 17.7258
      05.54.14 85.7468 -0.7913 17.7258
      05.54.24 85.7407 -0.7913 17.7094
      05.54.34 85.7468 -0.7913 17.702
      05.54.44 85.7407 -0.7913 17.7094
      05.54.54 85.759 -0.7913 17.7094
      05.55.04 85.7468 -0.7913 17.7332
      05.55.14 85.7346 -0.7913 17.7094
      05.55.24 85.7407 -0.7913 17.7405
      05.55.34 85.7224 -0.7913 17.7185
      05.55.44 85.7224 -0.7913 17.7332
      05.55.54 85.7101 -0.7913 17.7332
      05.56.04 85.6964 -0.7913 17.7258
      05.56.14 85.6903 -0.7913 17.7332
      05.56.24 85.6842 -0.7913 17.7185
      05.56.34 85.6903 -0.7913 17.7258
      05.56.44 85.672 -0.7913 17.7094
      05.56.54 85.6659 -0.7913 17.7258
      05.57.04 85.6659 -0.7913 17.7185
      05.57.14 85.6537 -0.7913 17.7185
      05.57.24 85.6476 -0.7913 17.702
      05.57.34 85.6216 -0.7913 17.6947
      05.57.44 85.6354 -0.7913 17.6947
      05.57.54 85.6155 -0.7913 17.6947
      05.58.04 85.6155 -0.7913 17.6874
      05.58.14 85.6094 -0.7913 17.702
      05.58.24 85.5972 -0.7913 17.702
      05.58.34 85.6033 -0.7913 17.6947
      05.58.44 85.5789 -0.7913 17.6874
      05.58.54 85.585 -0.7913 17.6874
      05.59.04 85.5728 -0.7913 17.6874
      05.59.14 85.5591 -0.7913 17.6874
      05.59.24 85.5652 -0.7913 17.7094
      05.59.34 85.5591 -0.7913 17.6947
      05.59.44 85.5591 -0.7913 17.6947
      05.59.54 85.553 -0.7913 17.6874
      06.00.04 85.553 -0.7913 17.6874
      06.00.14 85.5408 -1.0457 17.6947
      06.00.24 85.5469 -1.0457 17.6874
      06.00.34 85.5408 -1.0457 17.6947
      06.00.44 85.5347 -1.0457 17.6801
      06.00.54 85.5286 -1.0457 17.6874
      06.01.04 85.5286 -1.0457 17.6801
      06.01.14 85.5286 -1.0457 17.6727
      06.01.24 85.5286 -0.7913 17.6727
      06.01.34 85.5347 -0.7913 17.6874
      06.01.44 85.5286 -0.7913 17.6874
      06.01.54 85.5164 -0.7913 17.6727
      06.02.04 85.5225 -0.7913 17.6727
      06.02.14 85.5164 -0.7913 17.6801
      06.02.24 85.5225 -0.7913 17.6727
      06.02.34 85.5408 -1.0457 17.6727
      06.02.44 85.5347 -0.7913 17.6581
      06.02.55 85.5347 -0.7913 17.6801
      06.03.04 85.5408 -0.7913 17.6874
      06.03.14 85.5469 -0.7913 17.6874
      06.03.24 85.5286 -0.7913 17.6727
      06.03.34 85.5408 -0.7913 17.6727
      06.03.44 85.5408 -0.7913 17.6727
      06.03.54 85.5347 -0.7913 17.6654
      06.04.04 85.5408 -0.7913 17.6727
      06.04.14 85.5347 -0.7913 17.6654
      06.04.24 85.5408 -0.7913 17.6581
      06.04.34 85.553 -0.7913 17.6654
      06.04.44 85.5408 -0.7913 17.6434
      06.04.54 85.5286 -0.7913 17.6581
      06.05.04 85.5225 -0.7913 17.6581
      06.05.14 85.5286 -0.7913 17.6434
      06.05.24 85.5225 -0.7913 17.6434
      06.05.34 85.5225 -0.7913 17.6434
      06.05.44 85.5225 -0.7913 17.6434
      06.05.54 85.5164 -0.7913 17.627
      06.06.04 85.5225 -0.7913 17.6196
      06.06.14 85.5042 -0.7913 17.605
      06.06.24 85.5286 -0.7913 17.6123
      06.06.34 85.5164 -0.7913 17.627
      06.06.44 85.5164 -0.7913 17.627
      06.06.54 85.5286 -0.7913 17.6123
      06.07.04 85.5164 -0.7913 17.6123
      06.07.14 85.5347 -0.7913 17.6123
      06.07.24 85.5286 -0.7913 17.6123
      06.07.34 85.5408 -0.7913 17.6196
      06.07.44 85.5469 -0.7913 17.627
      06.07.54 85.5469 -0.7913 17.6123
      06.08.04 85.5591 -0.7913 17.627
      06.08.14 85.553 -0.7913 17.6123
      06.08.24 85.553 -0.7913 17.6196
      06.08.34 85.553 -0.7913 17.627
      06.08.44 85.5591 -0.7913 17.605
      06.08.54 85.5728 -0.7913 17.605
      06.09.04 85.585 -0.7913 17.5977
      06.09.14 85.585 -0.7913 17.6196
      06.09.24 85.585 -0.7913 17.6123
      06.09.34 85.585 -0.7913 17.6123
      06.09.44 85.585 -0.7913 17.6123
      06.09.54 85.5972 -0.7913 17.605
      06.10.04 85.6033 -0.7913 17.6123
      06.10.14 85.5972 -0.7913 17.5977
      06.10.24 85.6033 -0.7913 17.605
      06.10.34 85.5911 -0.7913 17.5977
      06.10.44 85.5972 -0.7913 17.5977
      06.10.54 85.5972 -0.7913 17.5977
      06.11.04 85.6094 -0.7913 17.5903
      06.11.14 85.6094 -0.7913 17.5903
      06.11.24 85.6094 -0.7913 17.5757
      06.11.34 85.6155 -0.7913 17.583
      06.11.44 85.6094 -0.7913 17.583
      06.11.54 85.6277 -0.7913 17.5903
      06.12.04 85.6277 -0.7913 17.5903
      06.12.14 85.6216 -0.7913 17.583
      06.12.24 85.6415 -0.7913 17.5757
      06.12.34 85.6415 -0.7913 17.5519
      06.12.44 85.6415 -0.7913 17.561
      06.12.54 85.6476 -0.7913 17.583
      06.13.04 85.6537 -0.7913 17.561
      06.13.14 85.6537 -0.7913 17.561
      06.13.24 85.6476 -0.7913 17.5372
      06.13.34 85.6537 -0.7913 17.5446
      06.13.44 85.6476 -0.7913 17.561
      06.13.54 85.6781 -0.7913 17.5446
      06.14.04 85.6964 -0.7913 17.5519
      06.14.14 85.6842 -0.7913 17.5446
      06.14.24 85.7101 -0.7913 17.5372
      06.14.34 85.704 -0.7913 17.5446
      06.14.44 85.7346 -0.7913 17.561
      06.14.54 85.7346 -0.7913 17.5757
      06.15.04 85.7407 -0.7913 17.5757
      06.15.14 85.7407 -0.7913 17.5757
      06.15.24 85.7529 -0.7913 17.561
      06.15.34 85.7849 -0.7913 17.5757
      06.15.44 85.7788 -0.7913 17.561
      06.15.54 85.791 -0.7913 17.561
      06.16.04 85.8093 -0.7913 17.5684
      06.16.14 85.8215 -0.7913 17.5446
      06.16.24 85.8597 -0.7913 17.5446
      06.16.34 85.8719 -0.7913 17.5446
      06.16.44 85.878 -0.7913 17.561
      06.16.54 85.8841 -0.7913 17.561
      06.17.04 85.8978 -0.7913 17.5446
      06.17.14 85.91 -0.7913 17.561
      06.17.24 85.91 -0.7913 17.561
      06.17.34 85.9161 -0.7913 17.561
      06.17.44 85.9039 -0.7913 17.561
      06.17.54 85.9283 -0.7913 17.561
      06.18.04 85.9406 -0.7913 17.5684
      06.18.14 85.9406 -0.7913 17.561
      06.18.24 85.9467 -0.7913 17.561
      06.18.34 85.9467 -0.7913 17.5519
      06.18.44 85.9467 -0.7913 17.561
      06.18.54 85.9528 -0.7913 17.5446
      06.19.04 85.9787 -0.7913 17.5372
      06.19.14 85.9909 -0.7913 17.5446
      06.19.24 86.0092 -0.7913 17.5446
      06.19.34 86.0413 -0.7913 17.5372
      06.19.44 86.0413 -0.7913 17.5372
      06.19.54 86.0413 -0.7913 17.5446
      06.20.04 86.0352 -0.7913 17.5446
      06.20.14 86.0596 -0.7913 17.5372
      06.20.24 86.0718 -0.7913 17.5446
      06.20.34 86.0718 -0.7913 17.5372
      06.20.44 86.0779 -0.7913 17.5446
      06.20.54 86.0657 -0.7913 17.5446
      06.21.04 86.084 -0.7913 17.5519
      06.21.14 86.084 -0.7913 17.5446
      06.21.24 86.0977 -0.7913 17.5446
      06.21.34 86.1038 -0.7913 17.5446
      06.21.44 86.0916 -0.7913 17.561
      06.21.54 86.1099 -0.7913 17.5446
      06.22.04 86.0977 -0.7913 17.5372
      06.22.14 86.116 -0.7913 17.5372
      06.22.24 86.1099 -0.7913 17.561
      06.22.34 86.1221 -0.7913 17.5446
      06.22.44 86.1282 -0.7913 17.5519
      06.22.55 86.1221 -0.7913 17.5446
      06.23.04 86.1282 -0.7913 17.5446
      06.23.14 86.1221 -0.7913 17.5446
      06.23.24 86.1343 -0.7913 17.5372
      06.23.34 86.1526 -0.7913 17.5372
      06.23.44 86.1603 -0.7913 17.5226
      06.23.54 86.1664 -0.7913 17.5446
      06.24.04 86.1404 -0.7913 17.5372
      06.24.14 86.1664 -0.7913 17.5446
      06.24.24 86.1526 -0.7913 17.5446
      06.24.34 86.1725 -0.7913 17.5299
      06.24.44 86.1725 -0.7913 17.5446
      06.24.54 86.1725 -0.7913 17.5299
      06.25.04 86.1786 -0.7913 17.5372
      06.25.14 86.1664 -0.7913 17.5226
      06.25.24 86.1786 -0.7913 17.5372
      06.25.34 86.1725 -0.7913 17.5372
      06.25.44 86.1725 -0.7913 17.5519
      06.25.54 86.1664 -0.7913 17.561
      06.26.04 86.1465 -0.7913 17.5446
      06.26.14 86.1404 -0.7913 17.561
      06.26.24 86.1282 -0.7913 17.5757
      06.26.34 86.1343 -0.7913 17.5519
      06.26.44 86.1404 -0.7913 17.561
      06.26.54 86.1221 -0.7913 17.561
      06.27.04 86.1221 -0.7913 17.561
      06.27.14 86.1099 -0.7913 17.5446
      06.27.24 86.1099 -0.7913 17.5446
      06.27.34 86.084 -0.537 17.5446
      06.27.44 86.0916 -0.537 17.5372
      06.27.54 86.084 -0.537 17.5446
      06.28.04 86.0718 -0.537 17.5446
      06.28.14 86.084 -0.537 17.5446
      06.28.24 86.0718 -0.537 17.5372
      06.28.34 86.0718 -0.537 17.5226
      06.28.44 86.0535 -0.537 17.5372
      06.28.54 86.0535 -0.537 17.5299
      06.29.04 86.0474 -0.537 17.5372
      06.29.14 86.0291 -0.537 17.5372
      06.29.24 86.0413 -0.537 17.5299
      06.29.34 86.0291 -0.537 17.5372
      06.29.44 86.0291 -0.537 17.5226
      06.29.54 86.0352 -0.2826 17.5372
      06.30.04 86.0153 -0.537 17.5299
      06.30.14 86.0291 -0.537 17.5299
      06.30.24 86.0153 -0.537 17.5372
      06.30.34 86.0352 -0.2826 17.5372
      06.30.44 86.0214 -0.2826 17.5372
      06.30.54 86.0214 -0.2826 17.5372
      06.31.04 86.0153 -0.537 17.561
      06.31.14 86.0031 -0.2826 17.5446
      06.31.24 86.0092 -0.2826 17.5446
      06.31.34 86.0031 -0.2826 17.5446
      06.31.44 86.0031 -0.2826 17.561
      06.31.54 86.0031 -0.2826 17.5446
      06.32.04 86.0031 -0.2826 17.5446
      06.32.14 86.0153 -0.2826 17.5519
      06.32.24 86.0031 -0.2826 17.5519
      06.32.34 86.0031 -0.2826 17.5519
      06.32.44 85.9848 -0.2826 17.561
      06.32.54 85.9787 -0.2826 17.561
      06.33.04 85.9848 -0.2826 17.561
      06.33.14 85.9848 -0.2826 17.5519
      06.33.24 85.997 -0.2826 17.561
      06.33.34 85.9909 -0.2826 17.5519
      06.33.44 85.997 -0.2826 17.561
      06.33.54 85.9848 -0.2826 17.561
      06.34.04 85.9787 -0.2826 17.561
      06.34.14 85.9848 -0.2826 17.5684
      06.34.24 85.9604 -0.2826 17.561
      06.34.34 85.9726 -0.2826 17.561
      06.34.44 85.9604 -0.2826 17.561
      06.34.54 85.9726 0.0565 17.561
      06.35.04 85.9726 0.0565 17.5684
      06.35.14 85.9604 0.0565 17.5446
      06.35.24 85.9726 0.0565 17.561
      06.35.34 85.9467 0.0565 17.561
      06.35.44 85.9604 0.0565 17.5684
      06.35.54 85.9528 0.0565 17.5519
      06.36.04 85.9467 -0.2826 17.5757
      06.36.14 85.9344 0.0565 17.5757
      06.36.24 85.9283 0.0565 17.561
      06.36.34 85.9406 0.0565 17.5757
      06.36.44 85.9344 0.0565 17.561
      06.36.54 85.9344 0.0565 17.5757
      06.37.04 85.9161 0.0565 17.5757
      06.37.14 85.9161 0.0565 17.5757
      06.37.24 85.9161 0.0565 17.5757
      06.37.34 85.9039 0.0565 17.583
      06.37.44 85.8978 0.0565 17.5903
      06.37.54 85.8658 0.0565 17.5903
      06.38.04 85.8597 0.0565 17.5903
      06.38.14 85.8536 0.0565 17.5977
      06.38.24 85.8353 0.0565 17.5757
      06.38.34 85.8475 0.0565 17.5903
      06.38.44 85.8353 0.0565 17.5757
      06.38.54 85.8414 0.0565 17.5903
      06.39.04 85.8032 0.0565 17.5684
      06.39.14 85.8093 0.0565 17.5757
      06.39.24 85.8032 0.0565 17.583
      06.39.34 85.7971 0.0565 17.5684
      06.39.44 85.7849 0.0565 17.5903
      06.39.55 85.7529 0.0565 17.583
      06.40.04 85.7529 0.0565 17.5977
      06.40.14 85.7346 0.0565 17.5977
      06.40.24 85.7346 0.3109 17.5977
      06.40.34 85.7101 0.3109 17.6196
      06.40.44 85.6964 0.3109 17.627
      06.40.54 85.6842 0.3109 17.627
      06.41.04 85.672 0.3109 17.627
      06.41.14 85.6659 0.3109 17.6343
      06.41.24 85.6537 0.3109 17.6434
      06.41.35 85.6476 0.3109 17.6434
      06.41.44 85.6415 0.3109 17.6581
      06.41.54 85.6216 0.3109 17.6434
      06.42.04 85.6155 0.5652 17.6434
      06.42.14 85.5972 0.3109 17.6434
      06.42.24 85.5972 0.3109 17.6343
      06.42.34 85.5972 0.3109 17.6434
      06.42.44 85.5652 0.5652 17.6581
      06.42.54 85.553 0.5652 17.6434
      06.43.04 85.553 0.5652 17.6343
      06.43.14 85.5469 0.3109 17.6434
      06.43.24 85.5225 0.5652 17.6343
      06.43.34 85.5225 0.5652 17.6434
      06.43.44 85.5164 0.5652 17.6343
      06.43.54 85.4843 0.5652 17.627
      06.44.04 85.4843 0.5652 17.6343
      06.44.14 85.466 0.5652 17.6434
      06.44.25 85.4599 0.5652 17.627
      06.44.34 85.4477 0.5652 17.6434
      06.44.44 85.4218 0.5652 17.6434
      06.44.54 85.4218 0.5652 17.6508
      06.45.04 85.3973 0.5652 17.6434
      06.45.14 85.4034 0.5652 17.6581
      06.45.24 85.3653 0.5652 17.6654
      06.45.34 85.3714 0.5652 17.6434
      06.45.44 85.3714 0.9044 17.6727
      0
    2. Mbo0000 Messages postés 21 Statut Membre
       
      Voilà un exemple de fichier les 4 colonnes sont respectivement Temps, DNI, HR et Température je veux parcourir cette feuille appelée "Mesures" et n'afficher que les valeurs toutes les 100 secondes par exemple dans "Valeurs à afficher"
      0
  3. ThauTheme Messages postés 1564 Statut Membre 160
     
    Re,

    Arf ! J'ai enfin compris...

    Soit tu sélectionnes dans l'onglet Mesures la cellule de départ et tu lances le code (à placer dans un module standard) ci-dessous :

    Sub Macro1()
    Dim M As Worksheet 'déclare la variable M (onglet Mesures)
    Dim V As Worksheet 'déclare la variable V (onglet valeurs à afficher)
    Dim TC As Variant 'déclare la variable TC (Tableau de Cellules)
    Dim NL As Long 'déclare la variable NL (Nombre de Lignes)
    Dim NS As Variant 'déclare la variable NS (Nombre de Secondes)
    Dim LI As Long 'déclare la variable LI (LIgne)
    Dim TPB As Date 'déclare la variable TPB (TemPs de Base)
    Dim K As Long 'déclare la variable K (incrément)
    Dim I As Long 'déclare la variable I (Incrément)
    Dim J As Byte 'déclare la variable J (incrément)
    Dim TL() As Variant 'déclare la variable TL (Tableau de Lignes)
    
    Set M = Sheets("Mesures") 'définit l'onglet M
    Set V = Sheets("valeurs à afficher") 'définit l'onglet V
    V.Range("A1").CurrentRegion.ClearContents 'efface les éventuelles anciennes données de l'onglet V
    TC = M.Range("A1").CurrentRegion 'définit le tableau de cellule TC
    NL = UBound(TC, 1) 'définit le nombre de lignes NL du tableau de cellules TC
    NS = Application.InputBox("Combien de secondes ?", "PAS DE TEMPS", Type:=1) 'définit la boîte d'entrée NS (nombre de secondes)
    If NS = False Or NS = 0 Then Exit Sub 'si bouton "Annuler" ou égale à zéro sort de la procédure
    NS = CInt(NS) 'convertis NS en entier (au cas où...)
    LI = ActiveCell.Row 'définit la ligne LI (ligne de la cellule active)
    'définit le temps de base TPB (temps de la cellule active)
    TPB = TimeSerial(CInt(Split(TC(LI, 1), ".")(0)), CInt(Split(TC(LI, 1), ".")(1)), CInt(Split(TC(LI, 1), ".")(2)))
    ReDim TL(1 To 4, 1 To 1) 'redimensionne le tabelau TL (4 lignes, 1 colonne)
    For J = 1 To 4 'boucle sur les 4 colonnes de TC
        TL(J, 1) = TC(LI, J) 'récupère dans la ligne J colonne 1 de TL la valeur de la ligne LI colonne J de TC
    Next J 'prochaine colonne de la boucle
    K = 2 'définit la variable K
    For I = LI To NL 'boucle 1 : sur toutes les lignes I de TC à partir de la ligne LI de la cellule active
            'condition : si le temps en ligne I colonne 1 de TC est egal au temps de base TPB plus NS secondes
            If TimeSerial(CInt(Split(TC(I, 1), ".")(0)), CInt(Split(TC(I, 1), ".")(1)), CInt(Split(TC(I, 1), ".")(2))) = TimeSerial(Hour(TPB), Minute(TPB), Second(TPB) + NS) Then
            ReDim Preserve TL(1 To 4, 1 To K) 'redimensionne le tableau de ligne TL (4 lignes, K colonnes)
            For J = 1 To 4 'boucle 2 : sur les 4 colonnes de TC
                TL(J, K) = TC(I, J) 'récupère dans la ligne de TK la valeur de la colonne de TC (transposition)
            Next J 'prochaine colonne de la boucle 3
            K = K + 1 'incrémente K (ajoute une colonne à TL
            TPB = TimeSerial(Hour(TPB), Minute(TPB), Second(TPB) + NS) 'redéfinit le temps de base (ancien temps de base plus NS secondes)
        End If 'fin de la condition
    Next I 'prochaine ligne de la boucle
    If K > 1 Then 'condition : si K est supérieur à 1
        V.Range("A1").Resize(1, 4).Value = Application.Index(TC, 1) 'reçupère la première ligne de TC
        V.Range("A2").Resize(UBound(TL, 2), UBound(TL, 1)).Value = Application.Transpose(TL) 'renvoie en A2 redimensionnée le tableau TL transposé
    End If 'fin de la condition
    V.Activate 'active l'onglet V
    End Sub


    soit tu copies le code ci-dessous dans le composant de l'onglet VBA de l'onglet Mesures et la macro se lance automatiquement au double-clic dans la cellule de départ de la colonne A

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim V As Worksheet 'déclare la variable V (onglet valeurs à afficher)
    Dim TC As Variant 'déclare la variable TC (Tableau de Cellules)
    Dim NL As Long 'déclare la variable NL (Nombre de Lignes)
    Dim NS As Variant 'déclare la variable NS (Nombre de Secondes)
    Dim LI As Long 'déclare la variable LI (LIgne)
    Dim TPB As Date 'déclare la variable TPB (TemPs de Base)
    Dim K As Long 'déclare la variable K (incrément)
    Dim I As Long 'déclare la variable I (Incrément)
    Dim J As Byte 'déclare la variable J (incrément)
    Dim TL() As Variant 'déclare la variable TL (Tableau de Lignes)
    
    If Target.Column <> 1 Or Target.Row = 1 Then Exit Sub 'si le boucle-clic a lieu ailleurs que dans la colonne 1 (=A) ou dans la ligne 1, sort de la procédure
    Cancel = True 'evite le mode [Édition] lié au double-clic
    Set V = Sheets("valeurs à afficher") 'définit l'onglet V
    V.Range("A1").CurrentRegion.ClearContents 'efface les éventuelles anciennes données de l'onglet V
    TC = Range("A1").CurrentRegion 'définit le tableau de cellule TC
    NL = UBound(TC, 1) 'définit le nombre de lignes NL du tableau de cellules TC
    NS = Application.InputBox("Combien de secondes ?", "PAS DE TEMPS", Type:=1) 'définit la boîte d'entrée NS (nombre de secondes)
    If NS = False Or NS = 0 Then Exit Sub 'si bouton "Annuler" ou égale à zéro sort de la procédure
    NS = CInt(NS) 'convertis NS en entier (au cas où...)
    LI = Target.Row 'définit la ligne LI (ligne de la cellule double-cliquée)
    'définit le temps de base TPB (temps de la cellule active)
    TPB = TimeSerial(CInt(Split(TC(LI, 1), ".")(0)), CInt(Split(TC(LI, 1), ".")(1)), CInt(Split(TC(LI, 1), ".")(2)))
    ReDim TL(1 To 4, 1 To 1) 'redimensionne le tabelau TL (4 lignes, 1 colonne)
    For J = 1 To 4 'boucle sur les 4 colonnes de TC
        TL(J, 1) = TC(LI, J) 'récupère dans la ligne J colonne 1 de TL la valeur de la ligne LI colonne J de TC
    Next J 'prochaine colonne de la boucle
    K = 2 'définit la variable K
    For I = LI To NL 'boucle 1 : sur toutes les lignes I de TC à partir de la ligne LI de la cellule active
            'condition : si le temps en ligne I colonne 1 de TC est egal au temps de base TPB plus NS secondes
            If TimeSerial(CInt(Split(TC(I, 1), ".")(0)), CInt(Split(TC(I, 1), ".")(1)), CInt(Split(TC(I, 1), ".")(2))) = TimeSerial(Hour(TPB), Minute(TPB), Second(TPB) + NS) Then
            ReDim Preserve TL(1 To 4, 1 To K) 'redimensionne le tableau de ligne TL (4 lignes, K colonnes)
            For J = 1 To 4 'boucle 2 : sur les 4 colonnes de TC
                TL(J, K) = TC(I, J) 'récupère dans la ligne de TK la valeur de la colonne de TC (transposition)
            Next J 'prochaine colonne de la boucle 3
            K = K + 1 'incrémente K (ajoute une colonne à TL
            TPB = TimeSerial(Hour(TPB), Minute(TPB), Second(TPB) + NS) 'redéfinit le temps de base (ancien temps de base plus NS secondes)
        End If 'fin de la condition
    Next I 'prochaine ligne de la boucle
    If K > 1 Then 'condition : si K est supérieur à 1
        V.Range("A1").Resize(1, 4).Value = Application.Index(TC, 1) 'reçupère la première ligne de TC
        V.Range("A2").Resize(UBound(TL, 2), UBound(TL, 1)).Value = Application.Transpose(TL) 'renvoie en A2 redimensionnée le tableau TL transposé
    End If 'fin de la condition
    V.Activate 'active l'onglet V
    End Sub


    C'est basiquement le même code sauf que l'un est événementiel et l'autre pas...
    0
    1. Mbo0000 Messages postés 21 Statut Membre
       
      Bonsoir je pense que vs avez compris ce que je veux merci de me laisser votre mail comme ça on dialogue directement ou votre skype. Le code marche mais il s'arrête à 7h alors que dans mon fichier j'ai jusqu'à 21 h. Encore une fois merci
      0
  4. ThauTheme Messages postés 1564 Statut Membre 160
     
    Re,

    Je ne peux pas exposer comme ça mes données perso. Il faut que tu t'enregistres et je pourrai te les envoyer par mail perso...
    0
    1. Mbo0000 Messages postés 21 Statut Membre
       
      Oui je me suis enregistré déjà
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ThauTheme Messages postés 1564 Statut Membre 160
     
    Regarde tes mails persos... Il me semble que certains de nos post ont été censurés puisqu'on passe du post 9 au post 13...

    À plus,
    ThauTheme
    0
    1. Mbo0000 Messages postés 21 Statut Membre
       
      Non c'est pas censuré il y avait un post en répétition et je voulais le supprimer et j'ai supprimé également les autres car je savais pas.
      0
  7. ThauTheme Messages postés 1564 Statut Membre 160
     
    Le problème vient certainement des limites imposées à Transpose...
    Essaie cette nouvelle option :

    Sub Macro1()
    Dim M As Worksheet 'déclare la variable M (onglet Mesures)
    Dim V As Worksheet 'déclare la variable V (onglet valeurs à afficher)
    Dim TC As Variant 'déclare la variable TC (Tableau de Cellules)
    Dim NL As Long 'déclare la variable NL (Nombre de Lignes)
    Dim NS As Variant 'déclare la variable NS (Nombre de Secondes)
    Dim LI As Long 'déclare la variable LI (LIgne)
    Dim TPB As Date 'déclare la variable TPB (TemPs de Base)
    Dim K As Long 'déclare la variable K (incrément)
    Dim I As Long 'déclare la variable I (Incrément)
    Dim J As Byte 'déclare la variable J (incrément)
    Dim TL() As Variant 'déclare la variable TL (Tableau de Lignes)
    
    Set M = Sheets("Mesures") 'définit l'onglet M
    Set V = Sheets("valeurs à afficher") 'définit l'onglet V
    V.Range("A1").CurrentRegion.ClearContents 'efface les éventuelles anciennes données de l'onglet V
    TC = M.Range("A1").CurrentRegion 'définit le tableau de cellule TC
    NL = UBound(TC, 1) 'définit le nombre de lignes NL du tableau de cellules TC
    NS = Application.InputBox("Combien de secondes ?", "PAS DE TEMPS", Type:=1) 'définit la boîte d'entrée NS (nombre de secondes)
    If NS = False Or NS = 0 Then Exit Sub 'si bouton "Annuler" ou égale à zéro sort de la procédure
    NS = CInt(NS) 'convertis NS en entier (au cas où...)
    LI = ActiveCell.Row 'définit la ligne LI (ligne de la cellule active)
    'définit le temps de base TPB (temps de la cellule active)
    TPB = TimeSerial(CInt(Split(TC(LI, 1), ".")(0)), CInt(Split(TC(LI, 1), ".")(1)), CInt(Split(TC(LI, 1), ".")(2)))
    ReDim TL(1 To 4, 1 To 1) 'redimensionne le tabelau TL (4 lignes, 1 colonne)
    For J = 1 To 4 'boucle sur les 4 colonnes de TC
        TL(J, 1) = TC(LI, J) 'récupère dans la ligne J colonne 1 de TL la valeur de la ligne LI colonne J de TC
    Next J 'prochaine colonne de la boucle
    K = 2 'définit la variable K
    For I = LI To NL 'boucle 1 : sur toutes les lignes I de TC à partir de la ligne LI de la cellule active
            'condition : si le temps en ligne I colonne 1 de TC est egal au temps de base TPB plus NS secondes
            If TimeSerial(CInt(Split(TC(I, 1), ".")(0)), CInt(Split(TC(I, 1), ".")(1)), CInt(Split(TC(I, 1), ".")(2))) = TimeSerial(Hour(TPB), Minute(TPB), Second(TPB) + NS) Then
            ReDim Preserve TL(1 To 4, 1 To K) 'redimensionne le tableau de ligne TL (4 lignes, K colonnes)
            For J = 1 To 4 'boucle 2 : sur les 4 colonnes de TC
                TL(J, K) = TC(I, J) 'récupère dans la ligne de TK la valeur de la colonne de TC (transposition)
            Next J 'prochaine colonne de la boucle 3
            K = K + 1 'incrémente K (ajoute une colonne à TL
            TPB = TimeSerial(Hour(TPB), Minute(TPB), Second(TPB) + NS) 'redéfinit le temps de base (ancien temps de base plus NS secondes)
        End If 'fin de la condition
    Next I 'prochaine ligne de la boucle
    If K > 1 Then 'condition : si K est supérieur à 1
        V.Range("A1").Resize(1, 4).Value = Application.Index(TC, 1) 'reçupère la première ligne de TC
        For I = 1 To UBound(TL, 2)
            V.Cells(I + 1, 1).Resize(1, 4).Value = Application.Transpose(Application.Index(TL, , I))
        Next I
        'V.Range("A2").Resize(UBound(TL, 2), UBound(TL, 1)).Value = Application.Transpose(TL) 'renvoie en A2 redimensionnée le tableau TL transposé
    End If 'fin de la condition
    V.Activate 'active l'onglet V
    End Sub


    Tu ne m'as pas dit laquelle des deux macros te convenait mieux...
    0
    1. Mbo0000 Messages postés 21 Statut Membre
       
      J'avais utilisé la première macro et je viens d'essayer aussi la nouvelle et c'est le même problème merci de vérifier votre émail perso je vous ai envoyé le fichier avec les remarques en mail. Encore une fois merci et le plus tôt possible car actuellement c'est ça qui me bloque pour passer aux étapes supérieures.
      0
  8. ThauTheme Messages postés 1564 Statut Membre 160
     
    Re,

    Je viens de regarder ton fichier et de comprendre...
    à partir de 07.00.04 le pas est parfois de 11 ou de 9 au lieu d'être de 10 !... Attention j'ai rajouté une première ligne avec les étiquettes : Temps, DNI, HR, Température. Regarde les lignes 723 / 724 / 730 / 731 / 733 / 734 etc...
    0
    1. Mbo0000 Messages postés 21 Statut Membre
       
      Oui vous avez raison est ce qu'il y a une solution par rapport au lieu d'ajouter 1 aux cellules qui ont des pas de 9 ou de retrancher 1 aux cellules qui ont des pas de 11. Je pense qu'il serait bien de mettre dans le programme la possibilité qu'il affiche avec + ou - 1. Et aussi merci de lire ton mail perso pour intégrer les remarques citées m. Merci
      0
  9. ThauTheme Messages postés 1564 Statut Membre 160
     
    Re,

    Évite et le plus tôt possible, parce qu'après ça m'énerve et je ne réponds plus...

    J'ai encore repérée une anomalie on passe de 15:50:54 à 15:51:14. Pas de 20

    Donc la macro fonctionne très bien mais c'est ton fichier qui a des écarts dans le pas de 10 !...
    0
    1. Mbo0000 Messages postés 21 Statut Membre
       
      Ok merci et désolé pour ça quoi comment le résoudre maintenant
      0
    2. Mbo0000 Messages postés 21 Statut Membre
       
      Merci de m'indiquer le N° de la ligne pour le pas de 20.
      0
  10. ThauTheme Messages postés 1564 Statut Membre 160
     
    Re,

    Aucune idée vu que je me base sur le temps d'une cellule et lui ajoute NS secondes. Il devient le nouveau temps de base, ensuite le code cherche dans les lignes en-dessous un temps égale au dernier temps de base. C'est sûr que si le pas est décalé ça ne concorde plus.

    J'ai fait une macro qui remplace, dans toutes les valeurs de la colonne A, le dernier caractère (si ce n'est pas un 4) par un 4 et je suis arrivée jusqu'à 15:50:54.

    On pourrait faire une macro qui réécrive les temps dans la colonne A par pas de 10 en prenant la première comme base mais je ne sais pas si tu peux faire ça ?... Si oui est-ce qu'on peut utiliser un format de temps ?

    0
    1. Mbo0000 Messages postés 21 Statut Membre
       
      Oui je pense qu'on peut prendre la cellule A1 comme base et lui ajouter 10 afin de réécrire la première colonne et garder le format de temps car c'est qui sera utilisé dans le futur. Merci
      0
  11. ThauTheme Messages postés 1564 Statut Membre 160
     
    Arf ! Enfin ça marche !...

    Le code :

    Sub Macro1()
    Dim M As Worksheet 'déclare la variable M (onglet Mesures)
    Dim V As Worksheet 'déclare la variable V (onglet valeurs à afficher)
    Dim TC As Variant 'déclare la variable TC (Tableau de Cellules)
    Dim NL As Long 'déclare la variable NL (Nombre de Lignes)
    Dim NS As Variant 'déclare la variable NS (Nombre de Secondes)
    Dim LI As Long 'déclare la variable LI (LIgne)
    Dim TPB As Date 'déclare la variable TPB (TemPs de Base)
    Dim K As Long 'déclare la variable K (incrément)
    Dim I As Long 'déclare la variable I (Incrément)
    Dim J As Byte 'déclare la variable J (incrément)
    Dim TL() As Variant 'déclare la variable TL (Tableau de Lignes)
    
    Set M = Sheets("Mesures") 'définit l'onglet M
    Set V = Sheets("valeurs à afficher") 'définit l'onglet V
    V.Range("A1").CurrentRegion.ClearContents 'efface les éventuelles anciennes données de l'onglet V
    TC = M.Range("A1").CurrentRegion 'définit le tableau de cellule TC
    NL = UBound(TC, 1) 'définit le nombre de lignes NL du tableau de cellules TC
    TPB = TimeSerial(CInt(Split(TC(1, 1), ".")(0)), CInt(Split(TC(1, 1), ".")(1)), CInt(Split(TC(1, 1), ".")(2))) 'définit le temps de base TBP (de la première cellule)
    For I = 1 To UBound(TC, 1) 'boucle sur toutes les lignes I du tableau de cellules TC
        TC(I, 1) = Format(TPB, "hh:mm:ss") 'renvoie le temps de base dans la ligne I colonne 1 de TC
        TPB = TimeSerial(Hour(TPB), Minute(TPB), Second(TPB) + 10) 'incrémente le temps de base de 10 secondes
    Next I 'prochaine ligne de la boucle
    M.Range("A1").Resize(UBound(TC, 1), 1).Value = TC 'renvoie le tableau TC dans la cellule A1 redimensionnée de l'onglet M
    
    NS = Application.InputBox("Combien de secondes ?", "PAS DE TEMPS", Type:=1) 'définit la boîte d'entrée NS (nombre de secondes)
    If NS = False Or NS = 0 Then Exit Sub 'si bouton "Annuler" ou égale à zéro sort de la procédure
    NS = CInt(NS) 'convertis NS en entier (au cas où...)
    LI = ActiveCell.Row 'définit la ligne LI (ligne de la cellule active)
    'définit le temps de base TPB (temps de la cellule active)
    TPB = TimeSerial(Hour(TC(LI, 1)), Minute(TC(LI, 1)), Second(TC(LI, 1)))
    ReDim TL(1 To 4, 1 To 1) 'redimensionne le tabelau TL (4 lignes, 1 colonne)
    For J = 1 To 4 'boucle sur les 4 colonnes de TC
        TL(J, 1) = TC(LI, J) 'récupère dans la ligne J colonne 1 de TL la valeur de la ligne LI colonne J de TC
    Next J 'prochaine colonne de la boucle
    K = 2 'définit la variable K
    For I = LI To NL 'boucle 1 : sur toutes les lignes I de TC à partir de la ligne LI de la cellule active
            'condition : si le temps en ligne I colonne 1 de TC est egal au temps de base TPB plus NS secondes
            If TimeSerial(Hour(TC(I, 1)), Minute(TC(I, 1)), Second(TC(I, 1))) = TimeSerial(Hour(TPB), Minute(TPB), Second(TPB) + NS) Then
            ReDim Preserve TL(1 To 4, 1 To K) 'redimensionne le tableau de ligne TL (4 lignes, K colonnes)
            For J = 1 To 4 'boucle 2 : sur les 4 colonnes de TC
                TL(J, K) = TC(I, J) 'récupère dans la ligne de TK la valeur de la colonne de TC (transposition)
            Next J 'prochaine colonne de la boucle 3
            K = K + 1 'incrémente K (ajoute une colonne à TL
            TPB = TimeSerial(Hour(TPB), Minute(TPB), Second(TPB) + NS) 'redéfinit le temps de base (ancien temps de base plus NS secondes)
        End If 'fin de la condition
    Next I 'prochaine ligne de la boucle
    If K > 1 Then 'condition : si K est supérieur à 1
        V.Range("A1").Resize(UBound(TL, 2), UBound(TL, 1)).Value = Application.Transpose(TL)
    End If 'fin de la condition
    V.Activate 'active l'onglet V
    End Sub


    Le fichier
    0
    1. Mbo0000 Messages postés 21 Statut Membre
       
      Re,
      j'ai essayé mais le fichier ne s'exécute pas il y a une erreur dans le code peut être. J'ai copié et collé le code et ça ne marche pas de même que le fichier que vous avez joint. Merci
      0
  12. ThauTheme Messages postés 1564 Statut Membre 160
     
    Re,

    Oui désolé le fichier que j'ai envoyé a déjà le temps converti. Tu aurais pu t'en rendre compte non ?!... Copie la colonne F et colle-la dans la colonne A. Car c'est comme ça qu'est le fichier au départ...
    Sélectionne la cellule de départ et lance le code...

    À plus,
    ThauTheme
    0
    1. Mbo0000 Messages postés 21 Statut Membre
       
      Oui c'est fait mais le problème est qu'avec cette méthode ça risque de ne pas m'arranger beaucoup donc je pense qu'il faut garder l'ancienne notation 05.00.04 ou mettre la nouvelle 05:00:04 car une fois que je mets un pas de 900 et cela ne m'arrange pas je dois revenir en arrière et mettre un pas de 1800 et là pour l'exécuter il faudra copier à nouveau chose qui ne m'arrange pas beaucoup vu le nombre de fichier à traiter donc est ce il y a possibilité de garder juste une notation et exécuter à sa guise peu importe le pas que je choisirai
      0
    2. Mbo0000 Messages postés 21 Statut Membre
       
      Merci de ton aide
      0
  13. ThauTheme Messages postés 1564 Statut Membre 160
     
    On pourrait dire à la macro de copier d'abord l'onglet Mesures, changer les formats et à la fin supprimer l'onglet copié. Qu'en penses-tu ?

    Sub Macro1()
    Dim AD As String 'déclare la variable AD (ADresse)
    Dim M As Worksheet 'déclare la variable M (onglet Mesures)
    Dim V As Worksheet 'déclare la variable V (onglet valeurs à afficher)
    Dim TC As Variant 'déclare la variable TC (Tableau de Cellules)
    Dim NL As Long 'déclare la variable NL (Nombre de Lignes)
    Dim NS As Variant 'déclare la variable NS (Nombre de Secondes)
    Dim LI As Long 'déclare la variable LI (LIgne)
    Dim TPB As Date 'déclare la variable TPB (TemPs de Base)
    Dim K As Long 'déclare la variable K (incrément)
    Dim I As Long 'déclare la variable I (Incrément)
    Dim J As Byte 'déclare la variable J (incrément)
    Dim TL() As Variant 'déclare la variable TL (Tableau de Lignes)
    
    Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
    AD = ActiveCell.Address(0, 0) 'définit l'adresse AD de la cellule active
    Sheets("Mesures").Copy After:=Sheets(Sheets.Count) 'copie l'onglet M en dernière position
    Set M = ActiveSheet 'définit l'onglet M
    Set V = Sheets("valeurs à afficher") 'définit l'onglet V
    V.Range("A1").CurrentRegion.ClearContents 'efface les éventuelles anciennes données de l'onglet V
    TC = M.Range("A1").CurrentRegion 'définit le tableau de cellule TC
    NL = UBound(TC, 1) 'définit le nombre de lignes NL du tableau de cellules TC
    TPB = TimeSerial(CInt(Split(TC(1, 1), ".")(0)), CInt(Split(TC(1, 1), ".")(1)), CInt(Split(TC(1, 1), ".")(2))) 'définit le temps de base TBP (de la première cellule)
    For I = 1 To UBound(TC, 1) 'boucle sur toutes les lignes I du tableau de cellules TC
        TC(I, 1) = Format(TPB, "hh:mm:ss") 'renvoie le temps de base dans la ligne I colonne 1 de TC
        TPB = TimeSerial(Hour(TPB), Minute(TPB), Second(TPB) + 10) 'incrémente le temps de base de 10 secondes
    Next I 'prochaine ligne de la boucle
    M.Range("A1").Resize(UBound(TC, 1), 1).Value = TC 'renvoie le tableau TC dans la cellule A1 redimensionnée de l'onglet M
    M.Range(AD).Select 'sélectionne dans l'onglet M la même cellule que la cellule active de l'onglet "Mesures"
    NS = Application.InputBox("Combien de secondes ?", "PAS DE TEMPS", Type:=1) 'définit la boîte d'entrée NS (nombre de secondes)
    If NS = False Or NS = 0 Then Exit Sub 'si bouton "Annuler" ou égale à zéro sort de la procédure
    NS = CInt(NS) 'convertis NS en entier (au cas où...)
    LI = ActiveCell.Row 'définit la ligne LI (ligne de la cellule active)
    'définit le temps de base TPB (temps de la cellule active)
    TPB = TimeSerial(Hour(TC(LI, 1)), Minute(TC(LI, 1)), Second(TC(LI, 1)))
    ReDim TL(1 To 4, 1 To 1) 'redimensionne le tabelau TL (4 lignes, 1 colonne)
    For J = 1 To 4 'boucle sur les 4 colonnes de TC
        TL(J, 1) = TC(LI, J) 'récupère dans la ligne J colonne 1 de TL la valeur de la ligne LI colonne J de TC
    Next J 'prochaine colonne de la boucle
    K = 2 'définit la variable K
    For I = LI To NL 'boucle 1 : sur toutes les lignes I de TC à partir de la ligne LI de la cellule active
            'condition : si le temps en ligne I colonne 1 de TC est egal au temps de base TPB plus NS secondes
            If TimeSerial(Hour(TC(I, 1)), Minute(TC(I, 1)), Second(TC(I, 1))) = TimeSerial(Hour(TPB), Minute(TPB), Second(TPB) + NS) Then
            ReDim Preserve TL(1 To 4, 1 To K) 'redimensionne le tableau de ligne TL (4 lignes, K colonnes)
            For J = 1 To 4 'boucle 2 : sur les 4 colonnes de TC
                TL(J, K) = TC(I, J) 'récupère dans la ligne de TK la valeur de la colonne de TC (transposition)
            Next J 'prochaine colonne de la boucle 3
            K = K + 1 'incrémente K (ajoute une colonne à TL
            TPB = TimeSerial(Hour(TPB), Minute(TPB), Second(TPB) + NS) 'redéfinit le temps de base (ancien temps de base plus NS secondes)
        End If 'fin de la condition
    Next I 'prochaine ligne de la boucle
    If K > 1 Then 'condition : si K est supérieur à 1
        V.Range("A1").Resize(UBound(TL, 2), UBound(TL, 1)).Value = Application.Transpose(TL)
    End If 'fin de la condition
    V.Activate 'active l'onglet V
    Application.DisplayAlerts = False 'empêche les message d'Escel
    M.Delete 'supprime l'onglet M
    Application.DisplayAlerts = True 'permet les message d'Excel
    Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran
    End Sub
    


    mais je vais voir si j'arrive à trouver un moyen de conserver le format dans l'onglet valeurs à afficher...

    À plus,
    ThauTheme
    0
    1. Mbo0000 Messages postés 21 Statut Membre
       
      Oui je pense c'est bien mais une fois que je tombe encore sur un fichier avec des pas non égaux comme ce fût le cas est ce la macro prendra en charge ça pour faire la correction ou non ?
      0
    2. Mbo0000 Messages postés 21 Statut Membre
       
      Pour cette macro elle fait que dupliquer la feuille "Mesures" ensuite je dois toujours copier les anciennes valeurs pour exécuter le programme chose qui ne m'arrange pas vu le nombre de fichiers à traiter une cinquantaine du même type.
      Je voudrai juste garder une notation que tu juges facile et que le programme s'exécute quand je change pas sans avoir à copier chaque fois. Merci
      0
  14. ThauTheme Messages postés 1564 Statut Membre 160
     
    Re,

    Non ! Copie la colonne F et colle la dans A. Supprime la colonne F et maintenant lance la dernière macro... Pff !... On va y arriver...
    0
    1. Mbo0000 Messages postés 21 Statut Membre
       
      Oui un grand merci maintenant juste deux questions encore :
      1/ Est ce si j'ai un autre fichier avec un pas de temps inégal parfois 9 ou 10 ou 11. Ce code peut marcher où est ce je dois prendre des précautions.
      2/ Est ce il y a possibilité de lui imposer le début et la fin de temps d'affichage par exemple
      9 h au lieu de 5 h et aussi 17 h au lieu de 21 h.
      Merci
      0
  15. ThauTheme Messages postés 1564 Statut Membre 160
     
    Re,

    Je pense que tu ne lis même pas le code que je t'envoie. Tu te contentes de le lancer et de dire "ça marche"ou "ça marche pas"...
    C'est pas comme ça que tu va progresser !...

    Si tu avais lu, tu verrais que la macro :
    • Copie l'onglet Mesures en dernière position
    • utilise la copie pour :

    - Réécrire le temps au format temps par pas de 10 secondes
    - utilise la cellule active comme référence de départ
    - lance une boite d'entrée ou l'utilisateur va définir le pas du temps
    - récupères les ligne concernées dans l'onglet valeurs à afficher
    • supprime la copie


    Donc ça répond à ta première question : oui ça marchera sur un autre fichier même si le pas du temps n'est pas fixe, à partir du moment où les données se trouvent dans un onglet nommé Mesures et qu'il contient un onglet nommé valeurs à afficher.
    Le temps de départ c'est toi qui le décide en sélectionnant la cellule de départ. Mais si tu veux une fourchette, il faudra utiliser soit deux boîtes d'entrée (InputBox) supplémentaires, soit une UserForm (Boîte de Dialogue).

    Puisque dans le code que je t'ai proposé il y a déjà une boîte d'entrée pour définir le pas du temps. Essaye de faire les deux autres tout seul et si tu n'y arrive pas, tu m'envoies ton code et je te corrigerai...
    0
    1. Mbo0000 Messages postés 21 Statut Membre
       
      Ok un grand merci ça répond à ma question pour le moment oui j'ai pas eu le temps de lire et comprendre je vais le faire. Je voulais juste le tester sur ce fichier. Pour la deuxième question je vais essayer de faire si j'ai des difficultés je vous contacterai merci.
      0
    2. Mbo0000 Messages postés 21 Statut Membre
       
      Bonjour,
      j'ai bien lu et compris la macro. Et je l'ai testé sur d'autres fichiers et cela donne de bons résultats voici le code que j'ai utilisé pour avoir une fourchette de temps à afficher mais j'ai bien peur qu'il ait des erreurs merci de me corriger. J'ai utilisé le dernier code que vs avez transmis

      Dim T_min, T_max As Date (placé entre L7 et L8)

      .........
      .........


      T_min = Application.InputBox("Temps minimal ?", "Temps de début", Type:=1) 'définit le temps minimal T_min (heure) placé entre L29 et L30
      T_max = Application.InputBox("Temps maximal ?", "Temps de fin", Type:=1) 'définit le temps maximal T_max (heure) placé entre L29 et L30

      .....
      .....

      If TPB > T_min And TPB < T_max Then (placé entre L36 etL37) placé entre L51 et L52
      .......
      .......
      .......

      End If
      0
  16. ThauTheme Messages postés 1564 Statut Membre 160
     
    Bonjour,

    Voici une proposition de code qui devrait convenir :

    Sub Macro1()
    Dim M As Worksheet 'déclare la variable M (onglet Mesures)
    Dim V As Worksheet 'déclare la variable V (onglet valeurs à afficher)
    Dim TC As Variant 'déclare la variable TC (Tableau de Cellules)
    Dim NL As Long 'déclare la variable NL (Nombre de Lignes)
    Dim NS As Variant 'déclare la variable NS (Nombre de Secondes)
    Dim T_min As Variant 'déclare la variable T_min (Temps minimal)
    Dim T_max As Variant 'déclare la variable T_max (Temps maximal)
    Dim LID As Long 'déclare la variable LID (LIgne Début)
    Dim LIF As Long 'déclare la variable LIF (LIgne Fin)
    Dim TPB As Date 'déclare la variable TPB (TemPs de Base)
    Dim K As Long 'déclare la variable K (incrément)
    Dim I As Long 'déclare la variable I (Incrément)
    Dim J As Byte 'déclare la variable J (incrément)
    Dim TL() As Variant 'déclare la variable TL (Tableau de Lignes)
    
    Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
    Sheets("Mesures").Copy After:=Sheets(Sheets.Count) 'copie l'onglet M en dernière position
    Set M = ActiveSheet 'définit l'onglet M
    Set V = Sheets("valeurs à afficher") 'définit l'onglet V
    V.Range("A1").CurrentRegion.ClearContents 'efface les éventuelles anciennes données de l'onglet V
    TC = M.Range("A1").CurrentRegion 'définit le tableau de cellules TC
    NL = UBound(TC, 1) 'définit le nombre de lignes NL du tableau de cellules TC
    'définit le temps de base TBP (de la première cellule) au format : numéro de série de temps
    TPB = TimeSerial(CInt(Split(TC(1, 1), ".")(0)), CInt(Split(TC(1, 1), ".")(1)), CInt(Split(TC(1, 1), ".")(2)))
    For I = 1 To UBound(TC, 1) 'boucle sur toutes les lignes I du tableau de cellules TC
        TC(I, 1) = Format(TPB, "hh:mm:ss") 'renvoie le temps de base dans la ligne I colonne 1 de TC
        TPB = TimeSerial(Hour(TPB), Minute(TPB), Second(TPB) + 10) 'incrémente le temps de base de 10 secondes
    Next I 'prochaine ligne de la boucle
    M.Range("A1").Resize(UBound(TC, 1), 1).Value = TC 'renvoie le tableau TC dans la cellule A1 redimensionnée de l'onglet M
    
    deb: 'étiquette
    NS = Application.InputBox("Combien de secondes ?", "PAS DE TEMPS", Type:=1) 'définit la boîte d'entrée NS (nombre de secondes)
    If NS = False Or NS = 0 Then GoTo fin 'si bouton "Annuler" ou égale à zéro va à l'étiquette "fin"
    NS = CInt(NS) 'convertis NS en entier (au cas où...)
    If NS Mod 10 <> 0 Then 'condition 1 : si le pas n'est pas un multiple de 10
        'condition 2 : si "Oui" au message
        If MsgBox("Le pas de temps que vous avez tapé n'est pas valide !" & Chr(13) & "Voulez-vous recommencer ?", vbYesNo, "ATTENTION!") = vbYes Then
            GoTo deb 'relance la boite d'entrée via l'étiquette "un"
        Else 'sinon
            GoTo fin 'va à l'étiquette "fin"
        End If 'fin de la condition 2
    End If 'fin de la condition 1
    
    un: 'étiquette
    T_min = Application.InputBox("Temps Minimal au format hh:mm:ss. Tapez " & Chr(34) & "D" & Chr(34) & " pour commencer du début !", "TEMPS DU DÉBUT", Type:=2) 'définit la boîte d'entrée T_min
    If T_min = False Or T_min = 0 Then GoTo fin 'si bouton "Annuler" ou T_min est égale à zéro, va à l'étiquette fin
    If UCase(T_min) = "D" Then LID = 1: GoTo suite1 'si T_min vaut "d" ou "D", définit la ligne LID, va à l'étiquette "suite1"
    On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
    T_min = Format(CDate(T_min), "hh:mm:ss") 'redéfinit T_min au format date hh:mm:ss
    T_min = TimeSerial(Hour(T_min), Minute(T_min), Second(T_min)) 'redéfinit T_min au format : numéro de série de temps
    LID = M.Columns(1).Find(T_min, , xlFormulas, xlWhole).Row 'définit la ligne de départ LID (génère une erreur si T_min n'est pas trouvé dans la colonne 1 de l'onglet M)
    If Err <> 0 Then 'condition 1 : si une erreur a été générée
        Err.Clear 'supprime l'erreur
        'condition 2 : si "Oui" au message
        If MsgBox("Le temps de départ que vous avez tapé n'est pas valide !" & Chr(13) & "Voulez-vous recommencer ?", vbYesNo, "ATTENTION!") = vbYes Then
            GoTo un 'relance la boite d'entrée via l'étiquette "un"
        Else 'sinon
            GoTo fin 'va à l'étiquette "fin"
        End If 'fin de la condition 2
    End If 'fin de la condition 1
    On Error GoTo 0 'annule la gestion des erreurs
    suite1: 'étiquette
    
    deux: 'étiquette
    T_max = Application.InputBox("Temps Maximal au format hh:mm:ss. Tapez " & Chr(34) & "F" & Chr(34) & " pour aller jusqu'a la fin !", "TEMPS DE FIN", Type:=2) 'définit la boîte d'entrée T_max
    If T_max = False Or T_max = 0 Then GoTo fin 'si bouton "Annuler" ou T_max est égale à zéro, va à l'étiquette "fin"
    If UCase(T_max) = "F" Then LIF = NL: GoTo suite2 'si T=max vaut "f" ou "F", définit la ligne LIF, va à l'étiquette "suite2"
    On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
    T_max = Format(CDate(T_max), "hh:mm:ss") 'redéfinit T_max au format date hh:mm:ss
    T_max = TimeSerial(Hour(T_max), Minute(T_max), Second(T_max)) 'redéfinit T_min au format : numéro de série de temps
    LIF = M.Columns(1).Find(T_max, , xlFormulas, xlWhole).Row 'définit la ligne de fin LIF (génère une erreur si T_max n'est pas trouvé dans la colonne 1 de l'onglet M)
    If Err <> 0 Then 'condition 1 : si une erreur a été générée
        Err.Clear 'supprime l'erreur
        'condition 2 : si "Oui" au message
        If MsgBox("Le temps de fin que vous avez tapé n'est pas valide !" & Chr(13) & "Voulez-vous recommencer ?", vbYesNo, "ATTENTION!") = vbYes Then
            GoTo deux 'relance la boite d'entrée via l'étiquette "deux"
        Else 'sinon
            GoTo fin 'va à l'étiquette "fin"
        End If 'fin de la condition 2
    End If 'fin de la condition 1
    On Error GoTo 0 'annule la gestion des erreurs
    suite2: 'étiquette
    
    'définit le temps de base TPB (temps de la cellule active)
    TPB = TimeSerial(Hour(TC(LID, 1)), Minute(TC(LID, 1)), Second(TC(LID, 1)))
    ReDim TL(1 To 4, 1 To 1) 'redimensionne le tabelau TL (4 lignes, 1 colonne)
    For J = 1 To 4 'boucle sur les 4 colonnes de TC
        TL(J, 1) = TC(LID, J) 'récupère dans la ligne J colonne 1 de TL la valeur de la ligne LI colonne J de TC
    Next J 'prochaine colonne de la boucle
    K = 2 'définit la variable K
    For I = LID To LIF 'boucle 1 : sur toutes les lignes I de TC à partir de la ligne LI de la cellule active
            'condition : si le temps en ligne I colonne 1 de TC est egal au temps de base TPB plus NS secondes
            If TimeSerial(Hour(TC(I, 1)), Minute(TC(I, 1)), Second(TC(I, 1))) = TimeSerial(Hour(TPB), Minute(TPB), Second(TPB) + NS) Then
            ReDim Preserve TL(1 To 4, 1 To K) 'redimensionne le tableau de ligne TL (4 lignes, K colonnes)
            For J = 1 To 4 'boucle 2 : sur les 4 colonnes de TC
                TL(J, K) = TC(I, J) 'récupère dans la ligne de TK la valeur de la colonne de TC (transposition)
            Next J 'prochaine colonne de la boucle 3
            K = K + 1 'incrémente K (ajoute une colonne à TL
            TPB = TimeSerial(Hour(TPB), Minute(TPB), Second(TPB) + NS) 'redéfinit le temps de base (ancien temps de base plus NS secondes)
        End If 'fin de la condition
    Next I 'prochaine ligne de la boucle
    If K > 1 Then 'condition : si K est supérieur à 1
        V.Range("A1").Resize(UBound(TL, 2), UBound(TL, 1)).Value = Application.Transpose(TL)
    End If 'fin de la condition
    V.Activate 'active l'onglet V
    fin: 'étiquette
    On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
    Application.DisplayAlerts = False 'empêche les message d'Excel
    M.Delete 'supprime l'onglet M
    Application.DisplayAlerts = True 'permet les message d'Excel
    Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran
    End Sub


    Il faut taper les temps au format hh:mm:ss mais il y a une gestion des erreurs. On peut taper d ou D pour commencer du début, f ou F pour aller jusqu'à la fin...
    0
    1. Mbo0000 Messages postés 21 Statut Membre
       
      Un grand merci cela convient exactement à ce que je voulais maintenant vous savez que le pas de 10 secondes peut parfois être très grand donc je veux mettre un nombre entre 1 et 10 et faire une interpolation entre deux valeurs succéssives : par exemple si j'ai 07:00:04 et 07:00:14 je veux avoir les valeurs à 07:00:06 je fais une interpolation avec une formule pour avoir cette valeur et comme ça au lieu que le pas soit 10 là je fais un pas de 2 secondes et j'afficherai toutes les deux secondes. J'essaierai et je vous enverrai une proposition et vous me corrigerez éventuellement Merci.
      0