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 :

regroupement par tranche horaire


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 50
    Points
    50
    Par défaut regroupement par tranche horaire
    Bonjour à tous, alors voila mon souci, j'ai un tableau avec une colonne heure et une colonne nb de palettes qui se présente comme suit :

    Heure Nb Palettes
    9h 12
    10h 15
    10h15 20
    .
    .
    .

    Ce que je voudrais faire, c'est regrouper les palettes par tranche horaire, c'est à dire que dans ce cas la la ligne avec 10h15 disparait et on aurait plus que la ligne 10h qui comprendrait 15 + 20 palettes. Et j'aimerais faire ça en sachant que je ne prend en compte que l'heure pour le regroupement, c'est à dire que 10h55 serait également regroupé avec le 10h et pas avec le 11h.

    J'ai essayé quelquechose en convertissant les heures en caracteres, ce qui me donnait par exemple 9.5 pour 9h30, puis je faisais une comparaison entre la ligne i et la ligne i+1 en utilisant le left(XXX)...seulement le souci, c'est que pour les premieres lignes ça pouvait marcher mais dés que l'on passe dans les 10h etc...la comparaison ne s'effectue plus seulement sur le premier caractère, je me suis sûrement compliqué beaucoup la vie, parceque je suppose qu'il existe des outils de comparaison en VBA plus efficace que ça, mais je n'ai aucune idée de comment ils marchent, j'ai cherché un moment pour d'autres solutions mais je n'ai pas trouvé, est ce que quelqun aurait une solution à me proposer ou tout du moins une piste à me donner ?

    Merci d'avance

  2. #2
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 50
    Points
    50
    Par défaut
    Ca a pas l'air de vous inspirer, en attendant j'ai reussit à faire un truc pas trop mal en bidouillant , j'ai converti les heures en chiffres en multipliant leurs valeurs par 24 dans ce cas comme je le disais, ça donne 9.5 pour 9h30, puis j'ai fait un arrondi inférieur de cette valeur, et enfin j'ai pu faire le regroupement...pourquoi faire simple quand on peut faire compliqué

    Enfin voila ce que ça donne :

    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
    Sub regroupe()
    Dim cpt As Variant
    Dim i As Integer
     
    cpt = 0
    i = 1
     
    Do While Sheets("copie").Cells(i, 1) > 0
     
     
    Sheets("copie").Cells(i, 4).Value = Sheets("copie").Cells(i, 2).Value * 24
    Sheets("copie").Cells(i, 5).FormulaR1C1 = "=ROUNDDOWN(RC[-1],0)"
    Sheets("copie").Cells(i, 5).NumberFormat = "0"
     
     
     
     
     
    i = i + 1
    Loop
     
    i = 1
     
    Do While Sheets("copie").Cells(i, 1) > 0
     
    cpt = Cells(i, 3).Value
     
    Do While Cells(i, 5).Value = Cells(i + 1, 5).Value
     
    cpt = cpt + Cells(i + 1, 3).Value
    i = i + 1
     
    Loop
     
    Cells(i, 6).Value = cpt
    i = i + 1
     
    Loop
     
    End Sub
    Malgré tout, je reste preneur si quelqun savait comment regrouper par tranche horaire directement avec les heures.

  3. #3
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    Bonjour tiresia

    Je pense qu'avec des formules ce serait plus simple, mais sans un bout de fichier...........

    @ te lire

  4. #4
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    re:

    voici un fichier que j'ai fait à la va vite

    en ligne, il denombre les plages horaires
    en colonne AA, il transforme l'heure en plage horaire

    pas de macro, que des formules

Discussions similaires

  1. Regroupement par tranches horaires
    Par orl10 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 25/03/2010, 15h17
  2. Réponses: 1
    Dernier message: 26/03/2009, 19h43
  3. Calcul d'heures par tranche horaire
    Par A0080 dans le forum Excel
    Réponses: 11
    Dernier message: 05/03/2008, 14h19
  4. Récupérer des enregistrements par tranche horaire
    Par olive_le_malin dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 19/05/2006, 16h53
  5. Regroupement par tranche dans une requete SQL (MS SQL)
    Par AODRENN dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 21/03/2006, 13h21

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