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
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
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
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
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
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: