Etendre une formule jusqu'à la dern. cellule où elle s'applique
Résolu/Fermé
KevPC
Messages postés
14
Date d'inscription
jeudi 19 septembre 2013
Statut
Membre
Dernière intervention
30 octobre 2013
-
19 sept. 2013 à 14:55
KevPC Messages postés 14 Date d'inscription jeudi 19 septembre 2013 Statut Membre Dernière intervention 30 octobre 2013 - 22 sept. 2013 à 22:35
KevPC Messages postés 14 Date d'inscription jeudi 19 septembre 2013 Statut Membre Dernière intervention 30 octobre 2013 - 22 sept. 2013 à 22:35
A voir également:
- Etendre une formule jusqu'à la dern. cellule où elle s'applique
- Formule excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Formule si et - Guide
- Verrouiller une cellule excel dans une formule - Guide
3 réponses
tobas
Messages postés
210
Date d'inscription
jeudi 23 novembre 2000
Statut
Membre
Dernière intervention
8 septembre 2014
24
19 sept. 2013 à 15:04
19 sept. 2013 à 15:04
bonjour,
à essayer
ligne à modifier dans ton code
DerLigfich = Range("A1").End(xlDown).Row
Bas = "z" & DerLigfich
Selection.AutoFill Destination:=Range("z2",fin), Type:=xlFillDefault
à essayer
ligne à modifier dans ton code
DerLigfich = Range("A1").End(xlDown).Row
Bas = "z" & DerLigfich
Selection.AutoFill Destination:=Range("z2",fin), Type:=xlFillDefault
tobas
Messages postés
210
Date d'inscription
jeudi 23 novembre 2000
Statut
Membre
Dernière intervention
8 septembre 2014
24
19 sept. 2013 à 15:06
19 sept. 2013 à 15:06
desole erreur dans la dernier ligne
Selection.AutoFill Destination:=Range("z2",Bas), Type:=xlFillDefault
Selection.AutoFill Destination:=Range("z2",Bas), Type:=xlFillDefault
melanie1324
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
19 sept. 2013 à 15:09
19 sept. 2013 à 15:09
Bonjour,
tu peux faire une boucle mais ca sera un tout petit plus long :
sub Macro1() :
i= 2
do while cells(i,1) <> "" 'tournera sur toutes les lignes tant que la 3ècolonne est renseignée)
i=i+1
loop
Range("z2").Select
ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[-2]=""alerte"",RC[-1]=""ok""),""Date de création > 4 mois"",IF(AND(RC[-2]=""ok"",RC[-1]=""alerte""),""Date de solde SAS > 6 mois"",IF(AND(RC[-2]=""alerte"",RC[-1]=""alerte""),""Double alerte"",""Pas d'alerte"")))"
range("z2").copy range(cells(2,26),cells(i-1,26))
End Sub
tu peux faire une boucle mais ca sera un tout petit plus long :
sub Macro1() :
i= 2
do while cells(i,1) <> "" 'tournera sur toutes les lignes tant que la 3ècolonne est renseignée)
i=i+1
loop
Range("z2").Select
ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[-2]=""alerte"",RC[-1]=""ok""),""Date de création > 4 mois"",IF(AND(RC[-2]=""ok"",RC[-1]=""alerte""),""Date de solde SAS > 6 mois"",IF(AND(RC[-2]=""alerte"",RC[-1]=""alerte""),""Double alerte"",""Pas d'alerte"")))"
range("z2").copy range(cells(2,26),cells(i-1,26))
End Sub
KevPC
Messages postés
14
Date d'inscription
jeudi 19 septembre 2013
Statut
Membre
Dernière intervention
30 octobre 2013
19 sept. 2013 à 15:21
19 sept. 2013 à 15:21
Bonjour, merci pour ta réponse, ça marche bien! Par contre que changes tu dans ta formule si je veux faire la même chose sur la colonne AA, par exemple. Merci d'avance.
melanie1324
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
19 sept. 2013 à 16:26
19 sept. 2013 à 16:26
voici cce que fait la macro
i= 2
do while cells(i,1) <> "" 'tournera sur toutes les lignes tant que la 1ère colonne est renseignée)
i=i+1
loop
'autrement i = numéro de ligne de la dernière cellule renseignée en A
'ici on sélectionne z2
Range("z2").Select
'tu y inscris ta formule
ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[-2]=""alerte"",RC[-1]=""ok""),""Date de création > 4 mois"",IF(AND(RC[-2]=""ok"",RC[-1]=""alerte""),""Date de solde SAS > 6 mois"",IF(AND(RC[-2]=""alerte"",RC[-1]=""alerte""),""Double alerte"",""Pas d'alerte"")))"
'on copie z2 et oRange("z2").Select
n la colle de la cellule de la ligne 2 colonne 26 (cells(2,26) à la cellule de la ligne i à la colonne 26.
range("z2").copy range(cells(2,26),cells(i-1,26))
'pour faire la même chose en AA :
Range("aa2").Select
ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[-2]=""alerte"",RC[-1]=""ok""),""Date de création > 4 mois"",IF(AND(RC[-2]=""ok"",RC[-1]=""alerte""),""Date de solde SAS > 6 mois"",IF(AND(RC[-2]=""alerte"",RC[-1]=""alerte""),""Double alerte"",""Pas d'alerte"")))"
range("AA2").copy range(cells(2,27),cells(i-1,27))
End Sub
i= 2
do while cells(i,1) <> "" 'tournera sur toutes les lignes tant que la 1ère colonne est renseignée)
i=i+1
loop
'autrement i = numéro de ligne de la dernière cellule renseignée en A
'ici on sélectionne z2
Range("z2").Select
'tu y inscris ta formule
ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[-2]=""alerte"",RC[-1]=""ok""),""Date de création > 4 mois"",IF(AND(RC[-2]=""ok"",RC[-1]=""alerte""),""Date de solde SAS > 6 mois"",IF(AND(RC[-2]=""alerte"",RC[-1]=""alerte""),""Double alerte"",""Pas d'alerte"")))"
'on copie z2 et oRange("z2").Select
n la colle de la cellule de la ligne 2 colonne 26 (cells(2,26) à la cellule de la ligne i à la colonne 26.
range("z2").copy range(cells(2,26),cells(i-1,26))
'pour faire la même chose en AA :
Range("aa2").Select
ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[-2]=""alerte"",RC[-1]=""ok""),""Date de création > 4 mois"",IF(AND(RC[-2]=""ok"",RC[-1]=""alerte""),""Date de solde SAS > 6 mois"",IF(AND(RC[-2]=""alerte"",RC[-1]=""alerte""),""Double alerte"",""Pas d'alerte"")))"
range("AA2").copy range(cells(2,27),cells(i-1,27))
End Sub
KevPC
Messages postés
14
Date d'inscription
jeudi 19 septembre 2013
Statut
Membre
Dernière intervention
30 octobre 2013
22 sept. 2013 à 22:35
22 sept. 2013 à 22:35
Merci beaucoup Mélanie.
19 sept. 2013 à 15:17
19 sept. 2013 à 15:41
19 sept. 2013 à 15:53