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 :

difference entre deux nombres en fonction d'une date [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 173
    Par défaut difference entre deux nombres en fonction d'une date
    bonsoir le forum

    je souhaiterai faire ceci:

    chaque jour j'encode un index de consommation d'une cuve qui se copie dans une feuille depuis un user form en a1 et en a2 la date system

    je souhaiterai savoir ma consommation mensuel donc la différence entre 2 index donc le dernier jour du mois - le premier jour du moi et l'afficher dans une textbox de mon formulaire et en plus une liste déroulante avec les moi de l'année qui afficherait dans cet meme txtbox le resultat en fonction du moi selectionner

    exemple

    le 1/5/09 index 497856
    le 2/5/09 index 497884
    etc
    le 31/5/09 index 498000

    donc le resultat pour le mois de mai est 144

    c'est ce nombre que je voudrait faire apparaitre dans ma txtbox

    merci

  2. #2
    Membre chevronné
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Par défaut
    Salut,

    J'ai suppose que tes index etaient trie par dates croissantes.
    Colonne A -> la date, colonne B -> l'index.
    (Cree un userform avec un textbox et un combobox)

    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
    Option Explicit
     
    Private Sub ComboBox1_Change()
        Dim Cpt As Integer
        Dim IndexMin As Double, IndexMax As Double
        Dim IndexMinOk As Boolean, IndexMaxOk As Boolean
     
        IndexMinOk = False
        IndexMaxOk = False
        For Cpt = 2 To Range("A65536").End(xlUp).Row
            If Month(Range("A" & Cpt).Value) = Me.ComboBox1.ListIndex + 1 Then
     
                If Not IndexMinOk Then
                    IndexMin = Range("B" & Cpt).Value
                    IndexMinOk = True
                Else
                    IndexMax = Range("B" & Cpt).Value
                    IndexMaxOk = True
                End If
            End If
        Next Cpt
     
        If IndexMinOk And IndexMaxOk Then
            Me.TextBox1.Value = IndexMax - IndexMin
        Else
            Me.TextBox1.Value = 0
        End If
    End Sub
     
    Private Sub UserForm_Initialize()
        Me.ComboBox1.List = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre")
        Me.ComboBox1.ListIndex = Month(Date) - 1
    End Sub

    ++
    Minick

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 173
    Par défaut
    merci beaucoup pour la code mais j'ai quand meme un soucis

    dans ma feuille pour faire le teste j'encode une date en a1 ( 01/05/09) et un index en b1
    en a2 je met (31/05/09) et en b2 un autre index
    et dans ma txtbox de mon userform j'ai un zéro qui apparait

    et pour que cela fonctionne je doit encoder des valeur pour le mois d'avril pour que l'index du mois de mai se calcule et la même chose pour le moi 'avril je doit encoder des valeurs du mois de mars

    et si j'ai des index aussi en collone c et d et E comment dois je faire pour les inscrire en txtbox2,3,4

    merci

  4. #4
    Membre chevronné
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Par défaut
    Re,

    Etrange, chez moi ca fonctionne tres bien.
    Il faut au minimum 2 index par mois pour calculer la valeur.

    Pour les index colonne C,D,E il faut appliquer le meme principe en faisant varier
    cette ligne, B devient C, D ou E dans un boucle par exemple
    Poste un fichier se sera plus simple pour comprendre ce qui cloche dedans.

    ++
    Minick

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 173
    Par défaut
    bonsoir le forum

    ok ca fonctionne aussi maintenant

    et pour faire la somme des index par mois a lieu de faire la différence comment dois je faire ?

    et aussi la somme par année ?

    d'Avance merci

    je n'y arrive pas avec la boucle pour les autres valeurs peux tu mettre un exemple pour la collone c je me débrouillerait pour les autres

    merci

  6. #6
    Membre chevronné
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Par défaut
    Salut,

    En piece jointe un exemple.

    J'ai suppose que tu voulais un cumul jusqu'au mois selectionne.
    Le nom des TextBox est important, par exemple pour 3 index :
    • TextBox1 -> Cumul Mois Index 1
    • TextBox2 -> Cumul Mois Index 2
    • TextBox3 -> Cumul Mois Index 3
    • TextBox4 -> Cumul Annee Index 1
    • TextBox5 -> Cumul Annee Index 2
    • TextBox6 -> Cumul Annee Index 3


    Si tu veux ajouter 1 index :
    • les Cumuls Mois iront jusqu'en TextBox4
    • les Cumuls Annees iront de TextBox5 a TextBox 8


    ++
    Minick
    Fichiers attachés Fichiers attachés

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 173
    Par défaut
    un grand merci pour tes explixation c'est a peu pres ce que je cherche
    je te met ci joint mon fichier avec les explication de ma demande sur la feuil1

    c'est plus simple avec un exemple

    d'avance je te remercie pour ton aide précieuse

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

Discussions similaires

  1. [WD10] Calcul de la difference entre deux sommes dans une requete
    Par Arasen dans le forum WinDev
    Réponses: 2
    Dernier message: 14/08/2009, 09h16
  2. Valeur calculée difference entre deux dates #NOMBRE!
    Par gracouille dans le forum SharePoint
    Réponses: 3
    Dernier message: 13/06/2008, 11h59
  3. nombre de difference entre deux mots
    Par navigator2008 dans le forum C
    Réponses: 8
    Dernier message: 23/01/2008, 23h59
  4. nombre en lettres & la différence entre deux dates
    Par Karim1971 dans le forum Excel
    Réponses: 1
    Dernier message: 15/08/2007, 06h08
  5. Réponses: 7
    Dernier message: 03/02/2006, 13h50

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