Modifier et copier des lignes dans une autre feuille
m
Bonjour,
Je découvre un peu plus Excel et j'aimerai créer une fonction qui, pour chaque ligne d'une feuille (sauf en-tête) :
1) Regarde si il y a plus d'un mois de différence entre les cellules E et F
2) Ajoute un mois à E si c'est bon, efface la ligne sinon
3) Copie toutes les lignes ayant survivantes à la fin d'une autre feuille
(et ça serait réexécuté chaque mois)
Je me suis essayée à programmer, mais ça ne marche pas encore...
function Popipo(){
Sheets("Mensualités").Select
ActiveSheet.Range("A2").Select
var col = ActiveSheet.Rows.Count
for (i=2; i<=col; i++){
var madate = ActiveCell.Offset(0,4);
if(ActiveCell.Offset(0,5)-DateAdd("m",1,madate)>=0){
DateAdd("m",1,ActiveCell.Offset(0,4));
ActiveCell.Offset(1,0).Select
} else {
Rows(i).Delete
};
};
Range("A2:E2").Select;
Range(Selection,Selection.End(xlDown)).Select;
Selection.Copy;
Sheets("Autres dépenses").Select;
ActiveSheet.Range("d" & ActiveSheet.Rows.Count).End(xlUp).Offset(1, 0).Paste;
}Hello,
ça ne fonctionne pas car tu mélanges 2 languages ... VBA & JS
à tester :
function Popipo()
Sheets("Mensualités").Select
col = ActiveSheet.Rows.Count
for i=2 to col
ActiveSheet.Range("A"& i ).Select
madate = ActiveCell.Offset(0,4)
if(ActiveCell.Offset(0,5)-DateAdd("m",1,madate)>=0 then
ActiveCell.Offset(0,5) = DateAdd("m",1,ActiveCell.Offset(0,4))
else
Rows(i).Delete
end if
next
Range("A2:E2").Select
Range(Selection,Selection.End(xlDown)).Select
Selection.Copy Sheets("Autres dépenses").Range("d" & ActiveSheet.Rows.Count).End(xlUp).Offset(1, 0)
end function