Recherche
Posez votre question Signaler

Macro Calcul Horaires Excel 2010 [Résolu]

Médéric - Dernière réponse le 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 :)
Lire la suite 
Réponse
+1
moins plus
Re,

Une facon de faire:

http://cjoint.com/?CBfr1NbQZaH

A+
Ajouter un commentaire
Réponse
+1
moins plus
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+
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

j'aurais besoin d'avoir un calcul (une différence) entre deux colonnes Vous pouvez developper un petit peu!!!!!
Ajouter un commentaire
Réponse
+0
moins plus
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 ?
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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 ;)
Ajouter un commentaire
Réponse
+0
moins plus
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

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

A+
Ajouter un commentaire
Réponse
+0
moins plus
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 :)
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Nickel c'est parfait :)

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

Merci par avance !
Ajouter un commentaire
Réponse
+0
moins plus
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 !
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Merci pour les explications :D

@ peluche !
Ajouter un commentaire
Ce document intitulé «  Macro Calcul Horaires Excel 2010  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.