remettre le jour à 01 et le mois à 01

ados99

XLDnaute Nouveau
bonjour,
j'ai une macro qui permet de récupérer les données de la Feuil1 à la Feuil 2, suivant quelques modifications.
j'ai besoin de votre aide pour récupérer les données de la colonne E et la colonne G qui sont des dates sous les conditions suivantes:
si la contenu de la cellule de la colonne C de la Feuil2 commence par 21, le jour et le mois doivent être remis à 01, sinon seul le mois doit être remis à 01.
exemple:
situation initiale

E2 = 31/03/2003 et G2 = 31/03/2003
E10 = 09/03/2002 et G10 = 09/03/2002

situation souhaitée


C2= 21120000 => E2 = 01/01/2003 et G2 = 01/01/2003
C10= 22800000 => E10 = 01/03/2002 et G10 = 01/03/2002
 

Pièces jointes

  • 3.xlsm
    41.6 KB · Affichages: 49
  • 3.xlsm
    41.6 KB · Affichages: 50
  • 3.xlsm
    41.6 KB · Affichages: 59

ados99

XLDnaute Nouveau
Re : remettre le jour à 01 et le mois à 01

Re
désolé si je n'étais pas claire
En effet les colonnes E et G de la feuille 2 sont récupéré depuis la colonne F de la Feuil1 .
Le contenu de la colonnes E et G sont des dates au format xx/xx/xxxx.

moi ce que je cherche c'est que :

si les deux premiers chiffres de la colonne C commence par 21, la date contenu dans les cellules correspondantes dans les colonne E et G devient 01/01/xxxx. cad, modifier le jour par le premier et le mois par janvier

exemple:
31/03/2003 => 01/01/2003
29/12/2009 => 01/01/2009

sinon, si les deux premiers chiffres de la colonne C ne commence pas par 21, seul le jour devient le premier sans modifier le mois.
exemple:

29/04/2009 => 01/04/2009
08/12/2002 => 01/12/2002


merci
 

ados99

XLDnaute Nouveau
Re : remettre le jour à 01 et le mois à 01

RE,
merci pour ta transparence.
Toutefois, je viens de relire les règles du forum, mais je n'ai pas trouvé une règle qui interdit le multipostage ou le fait de l'annoncé.
par ailleurs,il s'agit d'une urgence, à la quelle j'ai un deadline qui est aujourd'hui.

Enfin, je n'ai opté pour le multiposatage que lorsque j'ai posté des questions similaires depuis hier auxquelles je n'ai reçus aucune réponse et mon degré d'urgence et très élevé.

bonne soirée
ados
 

Paritec

XLDnaute Barbatruc
Re : remettre le jour à 01 et le mois à 01

Re Ados99 le forum
comme tu as cherché dans le règles du forum, effectivement il n'y a rien qui interdit le multipostage, il est cependant demandé par respect pour les répondeurs de le signaler.
Bonne soirée
Papou:eek:

PS: si tu n'as aucune réponse sur les deux forums demain, je ferai la réponse (car l'urgence pour du travail "gratuit", n'existe pas et pourtant tu l'aurais eu aujourd'hui si pas de doublons de post).
 

ados99

XLDnaute Nouveau
Re : remettre le jour à 01 et le mois à 01

Re Paitec;
sincèrement, je reconnais la disponibilité et l'engagement des membres du forum afin de satisfaire toutes les demandes postées, et comme tu la dis, "gratuitement". Cependant, je n'ai eu connaissance du fait qu'il faut signaler le uultiposatage, ceci est la première fois que je le découvre.

désolé si ça vous ai gêné.

bonne soirée

Ados99 :)
 

Paritec

XLDnaute Barbatruc
Re : remettre le jour à 01 et le mois à 01

Re ados99 le forum
alors en plus je t'ai fait une version qui ne marche pas, elle n'était pas complète !!
voilà qui marche parfaitement (testée cette fois -ci)
a+
Papou:eek:
 

Pièces jointes

  • ados99 V4.xlsm
    46.3 KB · Affichages: 33

ados99

XLDnaute Nouveau
Re : remettre le jour à 01 et le mois à 01

Re,
merci encore pour ton implication,
je sollicite, stp, ton aide si c'est possible, qu'une autre version permet juste de modifier les dates de la colonne G et laisser la colonne G comme tel.

merci paritec
ados :)
 

Paritec

XLDnaute Barbatruc
Re : remettre le jour à 01 et le mois à 01

bonjour Ados99 le forum
permet juste de modifier les dates de la colonne G et laisser la colonne G comme tel.
J'ai supposé que c'était E qu'il fallait modifier car ton explication !!!! relis voir ta demande????
voilà
a+
Papou:eek:
 

Pièces jointes

  • ados99 V5.xlsm
    46.3 KB · Affichages: 43
Dernière édition:

ados99

XLDnaute Nouveau
Re : remettre le jour à 01 et le mois à 01

Re
vous avez tout a fait raison je n'ai pas relis ce que j'ai écris.
je voulais dire, de modifier les dates de la colonnes G et laisser les dates de la colonnes E comme tel.
mais depuis ta réponse V5. j'ai compris qu'il faut supprimer la ligne:
Code:
 aa(i, 3) = CDate("01/01/" & Split(aa(i, 3), "/")(2))

et le code devient:
Code:
Sub modifierdates()
    Dim i&, fin&, aa As Variant
    fin = Feuil2.Range("C" & Rows.Count).End(xlUp).Row
    aa = Feuil2.Range("C2:G" & fin)
    For i = 1 To UBound(aa)
        If Mid(aa(i, 1), 1, 2) = 21 Then
            
            aa(i, 5) = CDate("01/01/" & Split(aa(i, 5), "/")(2))
        Else
           
            aa(i, 5) = CDate("01/" & Split(aa(i, 5), "/")(1) & "/" & Split(aa(i, 5), "/")(2))
        End If
    Next i
    Feuil2.Cells(2, 3).Resize(UBound(aa), UBound(aa, 2)) = aa
End Sub

je l'ai testé et ça a fonctionné.

Merci Paritec pour tes solutions rapides et ton implication
bonne journée
ados :)
 

Discussions similaires

Réponses
3
Affichages
277
Réponses
5
Affichages
326

Statistiques des forums

Discussions
312 502
Messages
2 089 022
Membres
104 006
dernier inscrit
CABROL