Macro Calcul Horaires Excel 2010

Résolu/Fermé
Médéric - 5 févr. 2013 à 08:31
 Médéric - 6 févr. 2013 à 10:29
Bonjour à tous,

étant nouveau sur le forum, et n'ayant pas trouvé ce que je cherché, je sollicite donc votre aide.

Sur une feuille j'aurais besoin d'avoir un calcul (une différence) entre deux colonnes (ou il y à des horaires) de façon automatique. (2 colonnes avec plusieurs milliers de lignes)

J'ai pensé à un déclenchement par bouton + macro, ou bien, lancer le calcul à l'ouverture du fichier; mais je ne sais pas comment m'y prendre, et je ne connais pas le VB... seulement des notions lointaines en POO ,C# et C.

j'ai déjà réussi à créer une macro pour importer un fichier dans une seconde feuille de mon classeur principal.

Merci d'avance :)


A voir également:

13 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
5 févr. 2013 à 18:01
Re,

Une facon de faire:

https://www.cjoint.com/c/CBfr1NbQZaH

A+
1
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
6 févr. 2013 à 09:35
Bonjour,

En effet, j'ai oublie les commentaires:

Private Sub Cmd_calcul_Temp_Appel_Click()
  Dim plage As Range, derligB, Tcol_E
  
  'Fige l'affichage excel
  Application.ScreenUpdating = False
  'Recherche la derniere cellule non vide colonne B
  derligB = Range("B" & Rows.Count).End(xlUp).Row
  'redimmensionne le Tableau au nombre de ligne colonne B -1 (titre)
  ReDim Tcol_E(derligB - 1)
  'Defintion en memoire de la plage de recherche
  Set plage = Range("B2:B" & derligB)
  'Raz index du tableau
  indexT = 0
  'Boucle de recherche: pour chaque objet dans la plage
  For Each cel In plage
    'calcul temps: ecriture dans une "case" du tableau
    Tcol_E(indexT) = Range("D" & cel.Row) - Range("B" & cel.Row)
    'Increment index tableau
    indexT = indexT + 1
  Next cel
  'Ecriture des cellules colonne E avec les valeurs inscritent dans le tabeau
  Range("E2:E" & derligB) = Application.Transpose(Tcol_E)
  'Defige l'affichage excel
  Application.ScreenUpdating = True
  
End Sub


A+
1
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
5 févr. 2013 à 08:35
Bonjour,

j'aurais besoin d'avoir un calcul (une différence) entre deux colonnes Vous pouvez developper un petit peu!!!!!
0
joe.satriani Messages postés 105 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 27 octobre 2020 6
5 févr. 2013 à 08:42
Bonjour Médéric,
je ne suis pas sur de bien saisir ta demande ?
Tu as 2 cellules A1 et B1 avec une date/heure dedans (formatée par exemple de la sorte : "jj/mm/aaaa hh:mm"). Et tu voudrais avoir la différence entre les 2 ? En jour, minute ... ?
Si par exemple tu as dans A1 : 05/02/2013 08:44
Et dans B1 : 05/02/2013 08:43
En mettant la formule C1=A1-B1, et en formatant la cellule C1 en "hh:mm:ss", tu obtiendras la minute de différence : 00:01:00
Est-ce cela que tu recherches ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
merci d'avoir répondu :)

en fait, j'ai deux colonnes extraites d'un ficheir de log, avec un temps d'appel (colonne A: connexion à l'appel et colonne B: déconnexion de l'appel). Le tout sur plusieurs centaines voir milliers de lignes.

Il faut donc que dans une colonne C, je calcul le temps d'appel C1: (=B1-A1) mais répété sur toutes les lignes et de facon automatique par déclenchement d'un event (bouton + macro) ou à l'ouverture du fichier.
0
Bonjour joe.satriani,

oui c'est cela, sauf que j'ai séparé la date de l'heure; et avoir la différence qu'en minutes ou secondes.

pour enfin automatiser le calcul sur l'ensemble des lignes de la feuille.

Merki ;)
0
Personne n'a une idée ? :)
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
5 févr. 2013 à 17:13
Bonjour,

Pourriez-vous mettre un echantillon de votre fichier a dispo sur : https://www.cjoint.com/
Parce que : sauf que j'ai séparé la date de l'heure cela fait combien de colonnes en tout ????

A+
0
re,

voici !

http://www.cjoint.com/confirm.php?cjoint=0BfrCfsqsVk

les colonnes sont dans la feuille test, la colonne E contient ce que je voudrais (manip que j'ai faite à la main et que je voudrais automatiser)

merci bien :)
0
Bonjour,

Nickel c'est parfait :)

Ayant aucune connaissance en VB, pourrais-tu m'expliquer un peu ton code STP !!

Merci par avance !
0
Merci :)

Dernière petite question: a la fin de ton code dans cijoint, il y a "Next" alors que dans ton commentaire précédent c'est "Next cel".

Ça change quelque chose, ou pas ?

Thx !
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
6 févr. 2013 à 10:21
Re,

Normalement il faut mettre ex: next cel pour la comprehention, meme si le next tout seul cela marche, ici le code n'est pas tres long donc facile de rerouver le for.

Bye
0
Merci pour les explications :D

@ peluche !
0