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 :

Code de la fonction Datedif [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Par défaut Code de la fonction Datedif
    Bonjour à tous !

    Je veux créer une macro permettant de faire des différences de dates.
    Je sais que manuellement pour effectuer une différence de date en mois par exemple, on utilise la fonction DateDiF.
    Malheureusement je connais pas le code de cette fonction.

    Ainsi je veux un code permet d'effectuer une différence de date en mois svp ..

    Voila mon code pour l'instant (qui ne fonctionne pas):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim a&, plage, j&
    a = [A65536].End(xlUp).Row
    plage = Application.Transpose(Range("AQ1:AQ" & a))
    On Error Resume Next 'si toutes les valeurs ne sont pas des dates
    For j = 1 To a
      plage(i) =DATEDIF(RC[-33],R2C34,""m""
     
    Next
    With [J1].Resize(d)
      .Value = Application.Transpose(plage)
      End With
    End Sub
    PS: je veux faire une boucle pour faciliter le traitement, car j'ai beaucoup de données.


    Je vous remercie d'avance pour l'aide!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Malheureusement je connais pas le code de cette fonction.
    As-tu consulté l'aide ? Mets le curseur sur la fonction et clique sur la touche F1.

    Philippe

  3. #3
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    je pense que tu fais la confusion avec le fonction "Excel Feuille" DateDif qui n'est plus documentée et n'apparaît pas dans les listes ou aide, mais fonctionne toujours et le fonction VBA DateDiff (2 "f"), qui est bien présente dans l'aide VBA, mais a un "f" de plus que l'autre et surtout une syntaxe différente

    Tout serait trop simple sinon, une fois ceci posé, je te dis comme Philippe fait un F1 sur DateDiff avec 2 f en VBA et ça sera OK

    DateDiff, fonction

    Renvoie une valeur de type Variant (Long) indiquant le nombre d'intervalles de temps entre deux dates données.
    Syntaxe

    DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
    cordialement,

    Didier

  4. #4
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Par défaut
    voila mon nouveau code qui ne fonctionne pas

    NB: je veux faire une différence de date en mois via une boucle
    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
    Sub calculret()
     
    'nomme colonne retards
    Range("AQ1").Select
        Selection.Locked = False
        Selection.FormulaHidden = False
        ActiveCell.FormulaR1C1 = "Retards"
        Columns("AP:AP").EntireColumn.AutoFit
     
     
    Dim a&, plage, j&
    Dim date1, date2 As Long
    date1 = CDate(Range("J2"))
     
    date2 = CDate(Range("$AH$2"))
     
    a = [A65536].End(xlUp).Row
    plage = Application.Transpose(Range("AQ1:AQ" & a))
     
    On Error Resume Next 'si toutes les valeurs ne sont pas des dates
    For j = 1 To a
      plage(j) = DateDiff(m, Range("J2"), Range("$AH$2"), vbMonday, vbUseSystem)
     
    date1 = date1 + 1
    Next
    With [J1].Resize(d)
      .Value = Application.Transpose(plage)
      End With
    End Sub
    HELP

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Tu as reçu deux messages de Philippe et Didier te suggérant de placer ton curseur sur la fonction DateDiff et appuyer sur F1.
    Lis bien l'aide sur cette fonction et tu verras que tu utilises mal l'argument Interval
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Par défaut
    On a :

    interval:Expression de chaîne correspondant à l'intervalle de temps utilisé pour calculer la différence entre date1 et date2.

    J'ai mis comme valeur "m" pour une différence en mois.

    date1 est la valeur de la cellule J2, on incrémente J2+1=J3 ..
    date2 est la valeur de la cellule $AH$2

    Je ne vois pas où je me trompe...

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    A moins que tu aies changé ton code par rapport à celui que tu affiches dans ton post de 9h57 qui indique m (nom d'une variable) et pas "m"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For j = 1 To a
      plage(j) = DateDiff(m, Range("J2"), Range("$AH$2"), vbMonday, vbUseSystem) 
    date1 = date1 + 1
    Or je ne trouve nulle trace de variable m qui pourrait être égal à la chaîne "m".
    Je te confirme que cette syntaxe fonctionne parfaitement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print DateDiff("m", Range("K2"), Date)
    Me renvoie bien 10. Où la cellule K2 est égal au 10/02/2012 et la fonction Date la date d'aujourd'hui.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  8. #8
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Par défaut
    si votre syntaxe fonctionne la mienne n'a aucuns effet sur ma feuille de calcul ..

    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
    Dim a&, plage, j&
    Dim date1, date2 As Date
    date1 = Range("J2")
     
    date2 = Range("$AH$2")
     
    a = [A65536].End(xlUp).Row
     'Application.Transpose
    plage = (Range("AQ2:AQ" & a))
     
    On Error Resume Next 'si toutes les valeurs ne sont pas des dates
    For j = 1 To a
      plage(j) = DateDiff("m", date1, date2, "", "")
     
     
    date1 = date1 + 1
    Next
    With [J1].Resize(d)
      .Value = Application.Transpose(plage)
      End With
    End Sub
    Comment faire une boucle avec votre code?

    Sachant que je veux effectuer la différence de date en mois entre les colonnes J et AH; avec le résultat dans la colonne AQ.
    Je fige la valeur $AH$2 car c'est la même date sur toute la colonne AH.

  9. #9
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Voici un exemple de code qui écrit dans la colonne B la différence en mois entre la date se trouvant en colonne A et la date du jour et ce de la ligne 2 à la dernière ligne de la table de données se trouvant dans la feuille nommée Feuil1 du classeur où se trouve le code VBA (ThisWorkbook).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub t()
     Dim sht As Worksheet: Set sht = ThisWorkbook.Worksheets("Feuil1")
     Dim r As Long
     With sht
      For r = 2 To .Range("A1").CurrentRegion.Rows.Count
       .Cells(r, 2) = DateDiff("m", .Cells(r, 1), Date)
      Next
     End With
    End Sub
    Petite précision, la ligne 1 de cette feuille contient les étiquettes de colonnes.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  10. #10
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Par défaut
    Merci Philippe Tulliez !

    Votre code fonctionne très bien!

    Je vous remercie pour votre aide .

    à bientôt

    Tiviia

  11. #11
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par Tiviia Voir le message
    Merci Philippe Tulliez !
    Votre code fonctionne très bien!
    Je vous remercie pour votre aide .
    à bientôt
    Tiviia
    Magnifique, comme quoi tout arrive et il ne faut pas désespérer.
    Je me permet d'insister comme l'a très bien rappeler Didier dans sa réponse qu'il existe également la formule DATEDIF présente dans excel. Non documentée mais néanmoins tout aussi efficace.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATEDIF(A2;AUJOURDHUI();"m")
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  12. #12
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Par défaut
    Je viens de remarquer que la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      .Cells(r, 43) = DateDiff("m", .Cells(r, 10), .Cells(r, 34))
    rajoute un mois à la différence.

    Exemple différence entre 18/11/2012 et 01/12/2012 = 1 ( normalement c'est 0)

    Qu'en pensez-vous ?


    ps: J'obtiens 0 avec la fonction datedif via excel (manuellement).

  13. #13
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Effectivement à la différence de la formule DATEDIF d'excel, la fonction DateDiff du VBA semble ne pas tenir compte des jours du mois que l'on compare.
    J'avoue privilégier les fonctions natives d'excel et j'utilise très peu DateDiff pour les mois. Je n'avais donc jamais remarqué ce problème (comme quoi on apprends tous les jours).
    Je te conseille la lecture du tutoriel Comprendre et gérer les dates sous Excel et en VBA de Didier Gonard.
    Je ne sais pas s'il en parle mais de toute façon sa lecture est très instructive.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  14. #14
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Par défaut
    Je viens de lire le tutoriel..

    Mais comment doit-je faire pour obtenir des résultats exacts sans l'ajout d'un mois ...?

  15. #15
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si tu n'as pas trouvé la réponse dans ce tutoriel, je serais tenté de te proposer de faire une simple opération arithmétique doublé d'un test logique.
    Vérifie si le jour de la date de départ n'est pas inférieure à la date d'arrivée et dans l'affirmative retranche 1 mois.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  16. #16
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Par défaut
    reBonjour,

    Je sais que je vous demande beaucoup mais vous pouvez me faire le code..svp
    Je ne sais pas faire de test en vba

    Merci d'avance
    Tiviia

  17. #17
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Voici un exemple avec un test booléen.
    Dans cet exemple Cells(1, 2) contient la date d'arrivée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Exemple1()
     Dim sht As Worksheet: Set sht = ThisWorkbook.Worksheets("Feuil1")
     Dim r As Long
     Dim diff As Boolean
     With sht
      For r = 2 To .Range("A1").CurrentRegion.Rows.Count
       diff = Day(.Cells(r, 1)) > Day(.Cells(1, 2))
       .Cells(r, 3) = DateDiff("m", .Cells(r, 1), .Cells(1, 2)) - (Abs(diff) * 1)
      Next
     End With
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  18. #18
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par Tiviia Voir le message
    reBonjour,
    Je sais que je vous demande beaucoup mais vous pouvez me faire le code..svp
    Je ne sais pas faire de test en vba
    Merci d'avance
    Tiviia
    Si tu commence à programmer en VBA, il est urgent que tu apprennes à faire des tests. De même d'ailleurs avec Excel.
    C'est vraiment la base.
    Se borner à faire du copier/coller sans comprendre ce que l'on fait n'est pas la bonne approche et n'est pas dans l'esprit de ce forum.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  19. #19
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Par défaut
    Bonjour

    Merci pour le code.

    Je tiens à dire que je sais faire des tests sur excel tel que avec la fonction SI ou NB.SI .
    Malheureusement, ce n'est que cette année que j'apprends(seule,car on a fait juste une initiation au VBA) à programmer en VBA.
    Auparavant, j'ai appris le C++ et l'utilisation de Labview.

    Quand je pose une question sur le forum, c'est dû à mon manque d'expérience en VBA.

    De plus quand je prends vos codes, j'essaye de les comprendre et de les modifier selon mes critères.

    Je vous remercie pour l'aide que vous apportez!

    Cdt
    Tiviia

  20. #20
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Et bien les tests en VBA ne sont pas différents de ceux d'Excel.
    Les six opérateurs logiques =, <>, >, <=, <, >= et les deux fonctions AND et OR renvoient TRUE ou FALSE.
    La seule différence entre Excel et VBA c'est que VRAI en Excel vaut 1 alors que TRUE en VBA vaut -1, d'où Abs(diff) * 1 dans l'exemple.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Code postal en fonction de la ville
    Par Pogny dans le forum Access
    Réponses: 14
    Dernier message: 07/11/2012, 20h25
  2. Réponses: 6
    Dernier message: 18/06/2006, 00h22
  3. Réponses: 2
    Dernier message: 17/05/2006, 11h43
  4. [Tableaux] demande de code pour une fonction.php
    Par carmen256 dans le forum Langage
    Réponses: 4
    Dernier message: 21/01/2006, 17h22
  5. optimiser le code d'une fonction
    Par yanis97 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/07/2005, 08h41

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