VBA - Calcul de longueur

Bonjour à tous,

Je cherche à automatiser mon post-traitement et je bloque sur un point, peut être saurez vous m'aider !

Alors voilà, dans mon fichier Excel, j'ai 5 colonnes (de B à F) et environ 60 lignes.

Il se compose comme suit:

  • colonne B : abscisse X (m)
  • colonne C : hauteur H (m)
  • colonne D : j'ai mis une condition : Si la hauteur est positive alors cell=1 sinon =0
  • colonne E: grâce à la première partie de la macro VBA, je repère une suite de "1" de la colonne D et recopies dans la colonne E l'abscisse correspondant au premier 1 et au dernier 1
  • colonne F : c'est là qu'est mon problème : je souhaiterai, sur la ligne correspondant au dernier "1" d'une série, faire la différence entre l'abscisse de départ et l'abscisse de fin. Pour calculer vous l'aurez compris, la longueur dont la hauteur > 0

Idéalement, je voudrais rajouter dans la colonne G, sur la ligne correspondant au dernier "1" d'une série, la hauteur max le long du segment.

Quelqu'un parmi vous pourrait il m'aiguiller sur ce qui ne va pas dans ma macro ? Parce que pour le moment je n'arrive à mettre dans la colonne F que l'abscisse de fin, et non le delta d'abscisse.

Je vous joins le fichier pour exemple.

En vous remerciant,

Aure13600

13essai.xlsm (95.58 Ko)

Bonjour

En attendant un pro VBA, une solution par formule

En G6, incrémentée vers le bas

=SI(OU(E6=0;D5=0);"";B6-DECALER(B6;-(MIN(SI(E6:$E$59<>0;LIGNE(E6:$E$59)))-MAX(SI($E5:E$6<>0;LIGNE($E5:E$6))));0))

Matricielle à valider avec les 3 touches Ctrl+Maj+Entrée

Cordialement

16essai.xlsm (98.78 Ko)

Bonjour Amadéus,

Merci pour votre retour, cela fonctionne très bien chez moi ! Je vais essayer de "traduire" cela en VBA !

Encore merci,

Cordialement,

Aure13600

Rechercher des sujets similaires à "vba calcul longueur"