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

Classer les dates de l'année en deux catégories

  • Initiateur de la discussion Initiateur de la discussion AuroreLG
  • 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 !

AuroreLG

XLDnaute Nouveau
Bonjour.
J'ai un petit soucis dont j'aimerais vous faire part.

J'ai la date d'embauche des employés de mon entreprise.
Pour l'attribution de leur médaille d'ancienneté, j'aimerais séparer les mois en deux dates.
Ceux embauchés entre le 01/01/X et le 30/06/X auront leur médaille en Juillet/N, et ceux embauchés entre le 01/07/X et le 31/12/X en Janvier/N+1.

Comment faire pour que les dates en A1 comprises entre le 01/01/X et le 30/06/X apparaissent en B1 sous "juillet" N et celles comprises entre le 01/07/X et le 31/12/X apparaissent sous "janvier" N+1?

J'ai essayé pendant plusieurs heures des formules avec "SI ET", "SI OU"... sans succès.

Quelqu'un aurait une révélation?
Merci d'avance!
 
Re : Classer les dates de l'année en deux catégories

Bonjour,

Un petit bout de fichier exemple (sans données confidentielles) nous aiderait à t'aider.

Une première approche avec la fonction MOIS:

Code:
=SI(MOIS(A1)<=6;"01/07/2012"*1;"01/07/2013"*1)

Si pas ça, reviens avec le fichier commenté qui nous manque.

@+
 
Re : Classer les dates de l'année en deux catégories

Bonjour AuroreLG et bienvenue 🙂


Pour augmenter vos chances de réponse, il est fortement recommandé de fournir un fichier exemple:
  • Non pas un fichier complet mais un "petit" fichier extrait de votre fichier de travail en ne conservant que quelques lignes par feuille.
  • Fichier expurgé de toutes données nominatives et confidentielles.
  • Avec une feuille montrant le résultat souhaité et avec les explications qui vont bien.


Pour joindre un fichier:
Quand vous rédigez un nouveau message ou quand vous modifiez un de vos messages, passer en mode avancé et cliquez sur 'Gérer les pièces jointes'.
Choisissez vos fichiers (boutons Choisir un fichier), cliquez sur envoyer (bouton envoyer) pour les charger, quand ils sont chargés (les noms des fichiers s'affichent en couleur) refermez la fenêtre (bouton Fermer cette fenêtre) puis cliquez sur 'envoyez...' ou 'enregistrer les changements'.
 
Re : Classer les dates de l'année en deux catégories

Bonsoir à tous


En attendant des précisions (comme, par exemple, la différence entre N et X), une proposition hasardeuse.​



ROGER2327
#6263


Lundi 9 Phalle 139 (Godemiché, économe - fête Suprême Quarte)
2 Fructidor An CCXX, 8,9837h - millet
2012-W33-7T21:33:39Z
 

Pièces jointes

Re : Classer les dates de l'année en deux catégories

Bonjour à tous,

En reprenant le fichier de PierreJean.
En Feuil2 à partir de C2, à recopier vers le bas cette formule :

=DATE(ANNEE($A2)+40;ENT((MOIS($A2)+5)/6)*6+1;1)
Pour l'attribution des médailles, j'ai ajouté 40 ans aux dates proposées.
Format des cellules de la colonne C : "mmm aaaa"
C'est une formule de Monique.

En VBA :
VB:
Sub Semestre()
Range("D2") = DateSerial(Year(Range("A2")) + 40, Int((Month(Range("A2")) + 5) / 6) * 6 + 1, 1)
End Sub

Klin89
 
Dernière édition:
Re : Classer les dates de l'année en deux catégories

Re AuroreLG,

En attendant le fichier.
Voir le résultat en Feuille2
VB:
Sub ListeInverses()
'Sur un exemple de Jacques Boisgontier
Set d = CreateObject("Scripting.Dictionary")
For Each c In Feuil2.Range("A2:A" & Feuil2.Range("A65536").End(xlUp).Row)
  d(DateSerial(Year(c.Value) + 40, Int((Month(c.Value) + 5) / 6) * 6 + 1, 1)) = d(DateSerial(Year(c.Value) + 40, Int((Month(c.Value) + 5) / 6) * 6 + 1, 1)) & c.Offset(, 1) & ";"
  'd(c.Value) = d(c.Value) & c.Offset(, 1) & " "
Next c
b = d.keys
For i = LBound(b) To UBound(b)
  Cells(i + 2, "D") = b(i)
  a = Split(d.Item(b(i)), ";")
  Cells(i + 2, "D").Offset(, 1).Resize(, UBound(a) + 1) = Application.Transpose(Application.Transpose(a))
Next i
Range("D1") = "Remise des médailles après 40 années de service"
Range("E1") = "Personnel"
Feuil2.Range("D2:D" & Feuil2.Range("D65536").End(xlUp).Row).NumberFormat = "mmmm yyyy"
End Sub

Klin89
 

Pièces jointes

Dernière édition:
Re : Classer les dates de l'année en deux catégories

Bonjour,
la solution de ROGER2327 a été une réussite!! quel soulagement!
Merci beaucoup pour votre aide et merci à ceux qui ont également répondu.
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…