Aide VBA pour recopier une cellule
Bonjour,
Je suis complètement novice sous VBA mais j’aurais besoin d’un dépannage rapide si cela vous est possible !
Voilà mon besoin :
J’ai un fichier avec en : Colonne A : Date début de location JJ/M/AAAA
Colonne B : Date de fin de location JJ/M/AAAA
Et colonne C à MP le jour de l’année (de 1 à 365)
J’aurais besoin qu’une macro me positionne le chiffre 1 dans chaque colonne comprise entre ce deux dates.
Par exemple pour une location de chalet entre le 01/06/2010 et le 07/06/2010 je souhaiterais avoir 0 dans chaque colonne sauf dans les colonnes EX à FD (jour 152 à 158) ou je souhaiterais avoir un 1 dans chacune d’elle.
Il faudrait que la macro s’exécute sur autant de ligne que la feuille en contient !
J’imagine que c’est possible mais que c’est compliqué ?
Merci d’avance.
bonsoir titou2911, le forum
une solution :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Sub esvba()
For Each rw In Sheets("Feuil1").Range("A2:A" & Sheets("Feuil1").Range("A65000").End(xlUp).Row)
For Each cn In Range("C1:MP1")
If DateSerial(Year(Cells(rw.Row, 1).Value), 1, 0) + cn.Value >= Cells(rw.Row, 1) And _
DateSerial(Year(Cells(rw.Row, 2).Value), 1, 0) + cn.Value <= Cells(rw.Row, 2) Then
Cells(rw.Row, cn.Column).Value = 1
Else
Cells(rw.Row, cn.Column).Value = ""
End If
Next cn
Next rw
End Sub |
ESVBA