Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

test sur quantième

  • Initiateur de la discussion Initiateur de la discussion bibou1212
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bibou1212

XLDnaute Occasionnel
Bonjour à tous

J'ai un problème que je ne sais pas résoudre seul.

Je dois faire un test sur un quantième. Ce dernier représente un date de produit. il s'ajit de comparer cette date avec la date du jour (entrer manuellement en jj/mm/aaa).

Le test est valider si :
- le quantième testé est inferieur ou égale à la date (case G14)
- le quantième testé n'est pas inférieur de plus de 2 mois

le seul hic est si la production est en janvier (ex : quantième jour = 012) on peut accepter un quantième pouvant aller jusqu'à 347 qui est en décembre.

j'ai essayer de pondre un truc mais ça marche pas à tout les coups.

voiçi le code "insuffisant" :

If quant2 <= Feuil3.Range("G14") Then
'Else
' If (quant2 - (Feuil3.Range("G14") - 60)) > 50 Then
' Else
' If (datecodeet1 - 30 < Feuil3.Range("G7")) And (365 - quant2 + Feuil3.Range("G14")) <= 60 Then
' Else
'MsgBox ("Erreur de quantième étui 1")
'GoTo Finprogr

' End If
' End If
'End If


Bon courage et merci d'avance
 
Re : test sur quantième

ok je vais essayer d'être plus clair

le but est de comparer un quantième(date converti allant de 001 à 366) et une date.

Le test est accepté si le quantième est inférieur ou égale à la date (pas supérieur) et si le quantième est inférieur au maximum de 2 mois (61 jours) à la date. si ce n'est pas le cas il renvoie un message d'erreur.

C'est plus clair ou pas ?
 
Re : test sur quantième

Re

Euh non 😱

Comment veux tu comparer un quantième (si je comprends bien qui est le jour de l'année) avec une date ? Tu peux comparer 2 dates mais peut-être je suis complètement à coté de la plaque c'est très possible
 
Re : test sur quantième

A oui tu as raison j'ai oublier de préciser que dans la case G14 la date est déjà transformé en quantième par la formule "=G7+1 - DATE(ANNEE(G7);1;1)".

Et vu que dans un quantième et n'y a pas de notion de l'année je ne peut pas faire de test si le quantième et la date ne sont pas sur une même année.
 
Re : test sur quantième

Bonjour à tous,

d'où l'intérêt de faire tes comparaisons non pas en quantièmes mais en dates. C'est pas la date qu'il faut convertir en quantième, c'est le quantième qu'il faut convertir en date....
 
Re : test sur quantième

Bonjour Bibou, ascal, Tototiti

pas sur d'avoir tout compris, mais regarde la macro ci-dessous, ton qantième en cellule A1, la date à comparer en cellule B1, peut être que.....

Code:
Sub test()
If Range("A1").Value <= DatePart("y", Range("B1").Value, 2, 2) And _
    Range("A1").Value >= DatePart("y", Range("B1").Value, 2, 2) - 61 Then
    MsgBox "test ok"
Else
    MsgBox "test non ok"
End If
End Sub

bon après midi
@+
 
Dernière édition:
Re : test sur quantième

Bonjour Pierrot, Re pour les autres

Ton code ne marche pas, il me met que mon test est ok et de suite après il me met qu'il ne l'est pas.

Mais merci pour ta réponse

Pour te répondre à toi tototiti je pourrait très bien convertir mon quantième en date mais je ne connaît pas le code en VBA pour le faire, tu n'en aurais pas un petit.

En tout cas merci à tous pour vos réponses

David
 
Re : test sur quantième

Re,

comprends pas trop, chez moi ce code fonctionne, surtout les 2 messages ok et non ok ne s'affichent pas lors de l'exécution de la même macro. As tu bien copié collé le code en l'état ???

@+
 
Re : test sur quantième

Bonjour à tous,

si tu as su faire une formule pour transformer une date en quantième :
=G7+1 - DATE(ANNEE(G7);1;1)

tu devrais pouvoir faire l'inverse, je pense.
admettons que l'année de tes quantièmes se trouve en A1 et ton quantième en A2

=DATE(A1;1;1)+A2-1
 
Re : test sur quantième

Pierrot,

Voilà les transformations que j'ai fait au code pour l'adapter. Sachant que quant2 est une variable integer qui représente le quantième.

If quant2 <= DatePart("y", Feuil3.Range("G7").Value, 2, 2) And _
quant2 >= DatePart("y", Feuil3.Range("G7").Value, 2, 2) - 61 Then
MsgBox "Test ok"
Else
MsgBox "Erreur quantième étui 1"
End If

Ton code marche un peu si on reste sur un classeur mais je pense que le problème viens du fait que j'ai une variable.Mais je comprend pas trop.

J'ai dis "marche un peu" parce que si tu met, par exemple, en quantième 350 et en date 05/01/2008 normalement ça devrais passer alors que ça marque "non ok".
 
Re : test sur quantième

Tototiti,

Ta formule marche bien je vais voir si je vais pouvoir l'exploiter, au pire tu n'aurais pas la même en VBA.

Sinon la formule du quantième je l'ai trouvé sur le forum je maitrise pas cette fonction
 
Re : test sur quantième

pourquoi faire en VBA ce qu'on peut faire plus facilement en formule ?

Code:
Function CalculDate(Quant as long, annee as long) as date
Calculdate = dateserial(annee,1,1) + quant -1
end Function
 
Re : test sur quantième

pourquoi faire en VBA ce qu'on peut faire plus facilement en formule ?

Sinon je suis obliger de faire sortir la valeur de ma variable VBA vers le tableur pour la transformé puis la rappeler dans VBA pour effectuer un test. C'est plus simple mais ça fait des ligne en plus et je serai le seul à comprendre ce que j'ai fait. Or c'est une application pour quelqu'un d'autre.

En tout cas merci beaucoup
 
Re : test sur quantième

Re

peut être comme ci dessous alors, ton quantième dans la variable q :

Code:
Option Explicit
Sub test()
Dim q As Integer, x As Integer, y As Integer
x = DatePart("y", Range("B1").Value, 2, 2)
y = DatePart("y", DateSerial(Year(Range("B1").Value), 1, 0), 2, 2)
If (q <= x And q >= x - 61) Or (y - q + Abs(x)) <= 61 Then
    MsgBox "test ok"
Else
    MsgBox "test non ok"
End If
End Sub

A tester...

bonne soirée
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
791
Réponses
4
Affichages
756
Réponses
2
Affichages
411
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…