XL 2016 Code For Each...

cambouis

XLDnaute Nouveau
Bonjour,

Voici mon problème :
Je souhaite mettre une formule dans chaque cellule d'une plage range nommée JANV_P1
Toutes les cellules nommées sont sur la feuille BD.
J'utilise le code suivant :
Sub cmdOK()
Dim cel As Range

For Each cel In Range("JANV_P1")
If cel.Value = "" Then
ActiveCell.FormulaR1C1 = "=INDEX(ROUL1,MOD(R5C-DEBUT_R1,JOUR_R1)+1)"
End If
Next cel

End Sub

Mais si la plage est bien sélectionnée, seule la cellule active de cette plage est remplie et mon code se termine sans remplir le mois.
Je tourne un peu (beaucoup) en rond et ne comprend pas pourquoi mon code ne fonctionne pas et fait appel aux as du forum.

Merci à vous

cambouis
 

Pièces jointes

  • ESSAI.xlsm
    27.8 KB · Affichages: 21

Dranreb

XLDnaute Barbatruc
Moi j'avais mis cel.FormulaR1C1 = au lieu de ActiveCel.FormulaR1C1 = et en réexécutant ça m'avait bien mis la formule à toutes les cel.
D'ailleurs pour quoi faire une boucle ? Moi je mettrais :
VB:
Range("JANV_P1").FormulaR1C1 = "=INDEX(ROUL1,MOD(R5C-DEBUT_R1,JOUR_R1)+1)"
 

Discussions similaires