IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

somme de temps pour un matricule [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Par défaut somme de temps pour un matricule
    Bonjour,
    J'ai besoin de votre aide.
    Dans mon classeur j'ai dans la colonne A de la cellule A4 à A200 des données de cette forme:
    en A4: D/1213/0,25+T/2639/1+F/2204/3+RP/1523/1
    en A6: D/1213/0,25+T/2639/2+RP/1523/6
    en A8: D/1213/0,25+F/1968/4+RI/1799/3,5
    la première série de 4 chiffres (1213, 2639,...) après la lettre correspond à un matricule et la valeur après le matricule elle correspond à un temps en 100ème d'heure.
    J'aurais besoin de connaitre la somme de temps pour chaque matricule.
    Auriez vous une solution s'il vous plait?

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonjour,

    En écrivant une macro, et en ayant ajouté la référence "Microsoft Scripting Runtime",
    le résultat devrait apparaître dans la colonne B (matricule) et C (les sommes de temps).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Option Explicit
    'Ajouter la référence "Microsoft Scripting Runtime"
     
    Sub SommeTempsParMatricule()
        Dim Matricules As Dictionary
        Dim Rsource
        Dim ri As Integer
     
        Set Matricules = New Dictionary
        Rsource = Range("A2:A200")
     
        Dim vals() As String
        Dim vali As Integer
     
        Dim val() As String
     
        'Lecture des cellules
        For ri = 1 To UBound(Rsource)
     
            'Décodage des groupes Matricules/Temps
            vals = Split(Rsource(ri, 1), "+")
     
            For vali = 0 To UBound(vals)
     
                'Séparation du temps et Matricule
                val = Split(vals(vali), "/")
                If Matricules.Exists(val(1)) Then
                    Matricules(val(1)) = CDbl(Matricules(val(1))) + Replace(val(2), ",", ".")
                Else
                    Call Matricules.Add(val(1), Replace(val(2), ",", "."))
                End If
            Next vali
        Next ri
     
        'Ecriture du résultat
        For ri = 0 To (Matricules.Count - 1)
            Range("B" & ri + 2) = Matricules.Keys(ri)
            Range("C" & ri + 2) = Replace(Matricules.Items(ri), ".", ",")
        Next ri
     
    End Sub

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Par défaut
    Merci BlueMonkey
    Je n'arrive pas à appliquer cette macro surement du fait que je connais trés peu excel.
    sans vouloir abuser de ta gentillesse pourrais la coller sur le fichier joint s'il te plait ?
    Merci pour votre aide

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonjour,

    Voir fichier ci-joint.
    Cliquer sur le bouton <Traitement> pour lancer l'exécution de la macro.
    Fichiers attachés Fichiers attachés

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Par défaut
    Merci BlueMonkey et toutes mes félicitations pour ta réactivité
    c'est exactement ce que je voulais

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Spip] Combien de temps pour créer un site web ?
    Par gamerome dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 13/09/2008, 09h21
  2. [weblogic] combien de temps pour être expert
    Par estampille dans le forum Weblogic
    Réponses: 3
    Dernier message: 29/03/2006, 18h49
  3. [Requete] Calcul Somme entre deux temps pour chaque jour
    Par nico33307 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 21/03/2006, 01h58
  4. [9.2i] Créer une dimension temps pour un DWH
    Par alpachico dans le forum Oracle
    Réponses: 5
    Dernier message: 28/10/2005, 16h00
  5. IIS prend trop de temps pour démarrer?
    Par Gabrielly dans le forum Autres Logiciels
    Réponses: 10
    Dernier message: 22/08/2005, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo