XL 2019 extraire le mois et l’année de la colonne

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

Dadi147

XLDnaute Occasionnel
Bonjour. Je veux extraire le mois et l’année de la colonne b en gardant toujours 01 au début de la date inchangée et mettre le résultat dans la colonne A Existe-t-il une formule qui peut le faire ou le code VBA Peut-être mieux de convertir le format en date

Capture.PNG
 

Pièces jointes

Solution
Re-,
Ainsi :
VB:
Sub Macro1()
Dim Tbl
Dim I As Long
Tbl = Range("A4:B" & Cells(Rows.Count, "B").End(xlUp).Row)
For I = LBound(Tbl) To UBound(Tbl)
    Tbl(I, 1) = Application.EoMonth(Tbl(I, 2), -1) + 1
Next I
Range("A4:B" & Cells(Rows.Count, "B").End(xlUp).Row) = Tbl
End Sub
A adapter
Bonjour à tous,

Une solution assez simple
VB:
="01/"&TEXTE(B4;"mm/aaaa")

JHA
Merci après avoir cherché j’ai trouvé ce code faisant le travail mais l’extraction se fait dans la colonne B Je veux que le contraire soit dans la colonne A

VB:
Sub test()
tablo = Range("A4:B" & Range("A" & Rows.Count).End(xlUp).Row)
For n = LBound(tablo, 1) To UBound(tablo, 1)
  tablo(n, 2) = Format(tablo(n, 1), "mm-yyyy")
Next
Range("A4").Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo
End Sub
 
Re-,
Ainsi :
VB:
Sub Macro1()
Dim Tbl
Dim I As Long
Tbl = Range("A4:B" & Cells(Rows.Count, "B").End(xlUp).Row)
For I = LBound(Tbl) To UBound(Tbl)
    Tbl(I, 1) = Application.EoMonth(Tbl(I, 2), -1) + 1
Next I
Range("A4:B" & Cells(Rows.Count, "B").End(xlUp).Row) = Tbl
End Sub
A adapter
 
Bonsoir,
Pourquoi passer par une macro à relancer à chaque fois qu'une date change ?
La formule de @bhbh au Post #5 me semble la plus idéale en tant que formule à mettre en colonne A ?
Calcul automatique ==> pas d'oubli d'extraction manuelle et surtout pas de plantage quand une date n'est pas renseignée ou invalide ...
On peut l'amender en ajoutant le traitement d'erreur:
Code:
=SIERREUR(FIN.MOIS(B4;-1)+1;"")
 
- 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ésolu(e)
Microsoft 365 DateDif()
Réponses
5
Affichages
170
  • Résolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
184
Retour