Comparer 2 dates et copier la plus petite

Bonjour au forum,

Je souhaite comparer 2 dates dans deux cellules discontinues et récupérer la plus petite pour la copier dans une 3ieme cellule.

Je précise que c'est bien via un code VBA que je souhaite pour faire cette copie.

J'ai testé plusieurs codes, sans succès...

Auriez-vous une idée ?

Un tout grand merci d'avance !

Nico.

Bonjour,

Code VBA ou Fonction?

Si code VBA

Sub PetiteDate()
If Range("A3") < Range("B3") Then
Range("C3") = Range("A3")
Else
Range("C3") = Range("B3")

End If

End Sub

Si fonction

Function PlusPetiteDate(AA As Date, BB As Date)
If AA < BB Then
PlusPetiteDate = AA
Else
PlusPetiteDate = BB
End If

End Function
45classeur1.xlsm (14.71 Ko)

Bonjour,

Ou encore

Range("E1") = Application.Min(Range("A1"), Range("B1"))

A+

Bonjour Frangy et Bernard22,

Merci pour vos réponses, cela fonctionne parfaitement !

Malheureusement j'ai dû modifier le fichier et me voici avec un nouveau problème...

Je joins un fichier exemple pour faciliter la compréhension, mon soucis y est expliqué.

Y'a t-il une solution à votre avis ?

PS : et c'est bien par une macro VBA que je souhaite faire cette manip'

Merci pour votre aide !

31fof.xlsx (12.00 Ko)

Bonjour,

C'est la même chose ! Tu peux appliquer les solutions données....

En voici une de plus :

Sub test()
    With Worksheets("Bulletin")
        Worksheets("Impression").Range("D6") = IIf(.Range("C6") < .Range("C8"), _
         .Range("C6"), .Range("C8"))
    End With
End Sub

Cordialement

Bonjour MFerrand,

Je suis étonné que cela fonctionne étant donné qu'il y ait des dates mélangées à du texte dans les cellules, mais effectivement cela fonctionne...

Merci beaucoup !

Nico.

Bonjour à tous,

Je n'ai pas saisi l'intérêt de l'utilisation de VBA.

(voir exemple)

A+

32fof.xlsx (10.98 Ko)

Oui tu as raison !! je suis allé un peu vite. Cela fonctionne parce qu'il y a coincidence avec la comparaison de chaînes !

Mais en fait, il faut donc :

soit reconvertir en date les chaînes (extraire date, substituer des "/" aux "." ou décomposer en année, mois, jour, extraire l'heure, substituer ":" à "h"...)

soit remonter aux valeurs sources en analysant la formule (dans ce cas on retrouve une date, mais il faut convertir l'heure qui n'est pas une heure mais du texte ...)

Tu t'amuses là !

L'essentiel est de savoir qu'on peut le faire !!

Bonne journée.

Re,

@Frangy : c'est tout simplement à cause de la structure de mon fichier, qui est plutôt assez complexe, et le code en réalité beaucoup plus long

@MFerrand : merci pour ton explication, je comprends pourquoi cela fonctionne malgré tout ! Et je pense laisser le code en l'état pour le moment

Pourquoi faire compliqué quand on peut faire simple ! 8)

Rechercher des sujets similaires à "comparer dates copier petite"