Nombre de temps d'utilisation

Bonjour à tous,

Je suis un apprenti dans un milieu logistique et actuellement je me rencontre avec un probleme de VBA.

J'ai déjà réalisé beaucoup de projet avec Visual Basic et je me connais un peu de cet outil mais actuellement j'ai un probleme que je n'arrive pas à résoudre.

Je vous explique ma situation, en effet ce que je dois faire actuellment est de faire un tableau excel suyr une feuille excel appelée "Synthèse" dans laquelle il existe d'autre feuille dans lesquelles ils y a des données par rapport à des chariots (engins de manutention). Ce qui m'intéresse est de savoir le temps d'utilisation d'un chariots ( en heure, minute et seconde 00:00:00) et pour ca je dois prendre le temps de fin de l'utilisation - temps de début d'utilisation.

Donc pour ceci je pensais créer une fonction type "Function ()" mais j'arrive pas à finir.

Si quelqu'un pourrai m'aider à ce sujet.

je vous mets la formule que j'esssai ainsi que la feuille raccourcie.

Cordialement.

6essai.xlsm (280.27 Ko)
capture2

Bonjour,

Pourquoi VBA ?

=SOMMEPROD(('02_20'!B2:B1492=Synthèse!A6)*('02_20'!G2:G1492-'02_20'!F2:F1492))

Il faudrait ensuite aménager avec INDIRECT pour tenir compte du nom d'onglet en variable et NBVAL pour la taille des données.

7essai.xlsm (279.80 Ko)
=SOMMEPROD((INDIRECT( "'" &B$5& "'!B2:B" & B$6)=$A7)*(INDIRECT( "'" &B$5& "'!G2:G" & B$6)-INDIRECT( "'" &B$5& "'!F2:F" & B$6)))

il faudrait que les structures des onglets soient identiques !

12essai.xlsm (281.23 Ko)

Bonjour,

Merci beaucoup Steelson de votre réponse rapide.

Alors la formule INDIRECT je la connais déjà mais je n'arrive jamais à comprendre comment l'appliquer.

Pourriez-vous me l'expliquer en quelque mots, s'il vous plait.

Cordialement.

Alban

Alors la formule INDIRECT je la connais déjà mais je n'arrive jamais à comprendre comment l'appliquer.

Pourriez-vous me l'expliquer en quelque mots, s'il vous plait.

C'est simple ... tu écris ta formule sans indirect en choisissant un onglet type.

=SOMMEPROD(('02_20'!B2:B1492=Synthèse!A6)*('02_20'!G2:G1492-'02_20'!F2:F1492))

Tu remplaces ensuite le nom de l'onglet par ta variable ... attention aux apostrophes ajoutées par excel aux noms d'onglets composés (avec espace ou underscore comme ici)

exemple pour '02_20'!B2:B1492

tu mets

INDIRECT( "'" & ma_variable & "'!B2:B1492")

mais comme ici 1492 est aussi variable, j'ai ajouté une zone de calcul avec INDIRECT aussi et j'ai introduit dans la formule

ce qui donne

INDIRECT( "'" & ma_vatiable & "'!B2:B" & la_dernière_ligne)

A nouveau,

MERCI BEAUCOUP pour votre aide et vos explications, c'est beaucoup plus clair dans mon esprit maintenant.

Je pense que dès mon retour à l'université je vais montrer le lien, avec vos explications, à mon professeur de "Programmation", pour qu'il puisse apprendre comment expliquer cette formule .

Bonne journée

Je pense que dès mon retour à l'université je vais montrer le lien, avec vos explications, à mon professeur de "Programmation", pour qu'il puisse apprendre comment expliquer cette formule .

bravo

Mon premier principe en VBA c'est être capable de s'en passer ...

Rechercher des sujets similaires à "nombre temps utilisation"