Macro copie de dates + recopie de cellule

mickeylol

XLDnaute Nouveau
Bonjour à tous,

Etant novice question macros, ou quelques notions, j'en appelle a votre savoir car j'ai une macro relativement balèze pour moi, à développer

Mon problème est le suivant : je dispose d'un fichier excel, avec dans la colonne A des dates qui se suivent, sauf que les weekends ne sont pas intégrés (ex : si vendredi est le 8 janvier, ma date suivante est le lundi 11 janvier)

Dans ma colonne B, des taux de change

Je souhaiterais réaliser une macro quo ferait ceci :

- parcourir la colonne A avec les dates et ajouter des lignes pour les samedis et dimanche
- une fois ces lignes ajoutées, recopier en cellule B le contenu de la cellule située juste au dessus

en gros, que cette macro me rajoute tous les weekends, et que pour chaque weekend, elle recopie les taux du vendredi

merci pour votre aide :)
 

Staple1600

XLDnaute Barbatruc
Re : Macro copie de dates + recopie de cellule

Bonsoir

Un premier essai
Cette macro insert les week-end dans la colonne A
Code:
Sub Insert_we()
Dim i As Long
For i = [A65536].End(xlUp).Row To 1 Step -1
If Weekday(Cells(i, "A"), vbMonday) = 6 Then
Cells(i, "A").Rows(2).Insert
End If
Next i
Range("A1").AutoFill Destination:=Range("A1:A" & [A65536].End(xlUp).Row), Type:=xlFillDefault
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Macro copie de dates + recopie de cellule

Re


Une deuxième essai
(qui ressemble à de l'artillerie lourde lol :p )

Code:
Sub Insert_we_II()
Dim i As Long
Dim Jour_Debut As Long
Jour_Debut = Day(Cells(1, 1).Value)
Dim Fin As Long
For i = [A65536].End(xlUp).Row To 1 Step -1
If Weekday(Cells(i, "A"), vbMonday) = 6 Then
Cells(i, "A").Rows(2).Insert
End If
Next i
Select Case Month(Cells(1, 1).Value)
Case 1, 3, 5, 7, 8, 10, 12
Fin = 32 - Jour_Debut
Range("A1").AutoFill Destination:=Range("A1:A" & Fin), Type:=xlFillDefault
Case 4, 6, 9, 11
Fin = 31 - Jour_Debut
Range("A1").AutoFill Destination:=Range("A1:A" & Fin), Type:=xlFillDefault
Case 2
If Month(DateValue("28/02/" & Year(Cells(1, 1).Value)) + 1) <> Month(DateValue("28/02/" & Year(Cells(1, 1).Value))) Then
Fin = 29 - Jour_Debut
Range("A1").AutoFill Destination:=Range("A1:A" & Fin), Type:=xlFillDefault
Else
Fin = 30 - Jour_Debut
Range("A1").AutoFill Destination:=Range("A1:A" & Fin), Type:=xlFillDefault
End If
End Select
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 897
Messages
2 093 392
Membres
105 718
dernier inscrit
Kro