Récupérer valeurs dynamique

Florian53

XLDnaute Impliqué
Bonjour à tous,

Désolé pour le titre peu explicite mais je ne vois pas trop comment formuler ma demande avec quelques mots.

Je voudrais récupérer et différencier des valeurs d'un tableau dynamique.

je suis désolé de pas en dire plus dans le message mais je n'arrive à l'expliquer clairement sans exemple.

Merci à vous
 

Pièces jointes

  • test.xlsm
    39.8 KB · Affichages: 32

Dranreb

XLDnaute Barbatruc
Bonjour.

Essayez avec ça dans le module Feuil2 :
VB:
Option Explicit

Private Sub Worksheet_Activate()
Dim TE(), TS(1 To 5000, 1 To 4), LE&, LS&, PasFait As Boolean, NbLig&, TOn As Double
TE = Feuil1.UsedRange.Value
For LE = 2 To UBound(TE, 1)
   If TE(LE, 1) <> "" Then
      If LS > 0 Then TS(LS, 4) = NbLig
      LS = LS + 1: TS(LS, 1) = TE(LE, 1)
      PasFait = True: NbLig = 0: TOn = 0
   Else
      If PasFait Then
         If Val(TE(LE, 2)) <> 0 Then TOn = Val(TE(LE, 2))
         If TE(LE, 3) <> "" And TE(LE, 4) = "non" Then TS(LS, 2) = Val(TE(LE, 3)): TS(LS, 3) = Val(TE(LE, 3)) - TOn: PasFait = False
         End If
      NbLig = NbLig + 1: End If: Next LE
TS(LS, 4) = NbLig
[A2:D5001].Value = TS
End Sub
 

Dranreb

XLDnaute Barbatruc
Salut pierrejean.
Il dit en dernier: le nombre de lignes par cycle.
Mais en point 2 il dit le temps du premier "OFF" de chaque cycle dans la Feuil 2
J'ai supposé qu'il s'agissait de la différence entre ce OFF et le ON qui précède.
 

Florian53

XLDnaute Impliqué
2 - : Récupérer le temps du premier "OFF" de chaque cycle dans la Feuil 2

Par exemple pour le cycle 1 la valeur cherché est 6.8, en fait tous les cycles commence par un "ON" à un temps 0.00 et je voudrais récupérer le temps du 1er OFF a chaque cycle

3 - : Récupérer le nombre de ligne par cycle:

en gros avoir le nombre de lignes entre chaque cycle pour a la fin les diviser par 2 se qui me donnera le nombre de commutation

Merci à vous , car pour l'instant ça correspond tout a fait à ce que je voudrais il manque seulement le point 2 mais ma demande était pas très clair.
 

Florian53

XLDnaute Impliqué
Bonjour a tous,

Je reviens vers vous afin de demander une modification,

je voudrais modifier ma demande sur le point suivant:

3 - : Récupérer le nombre de ligne par cycle:

en gros avoir le nombre de lignes entre chaque cycle pour a la fin les diviser par 2 se qui me donnera le nombre de commutation

En fait je voudrais récupérer le nombre de ligne par cycle seulement à partir du moment que la presence est " Oui" dans la colonne D et le tout diviser par 2 afin d'indiquer le nombre de commutation.

Merci à vous
 

Florian53

XLDnaute Impliqué
Effectivement j'ai essayé de comprendre le code dés réception de celui mais il s’avère qu'avec les histoires de boucle j'ai beaucoup de mal à comprendre. Et ce n'est pas non plus le manque d'avoir essayé car je les fais avant de vous contacter mais malheureusement mon essai ne fonctionnait pas. C’est pour cela que je fais une demande en discussion.


Et pour ce qui est de penser, c’est souvent en utilisant que l’on voudrait perfectionner les outils utilisés.
 

Dranreb

XLDnaute Barbatruc
À priori dans mon code c'est juste l'instruction NbLig = NbLig + 1 qui doit être changée de place pour qu'elle ne soit plus effectuée à chaque fois. Peut être ça deviendrait plus simple en rebaptisant CEstFait le Boolean PasFait et en intervertissant le sens de leurs valeurs True/False.
 

Discussions similaires

Réponses
7
Affichages
426
Réponses
10
Affichages
363
Compte Supprimé 979
C

Statistiques des forums

Discussions
313 344
Messages
2 097 335
Membres
106 916
dernier inscrit
Soltani mohamed