Bonjour,
J'utilise une macro pour copier une formule dans une colonne sur les lignes non vides.
Exemple qui fonctionne
J'ai des dates dans la colonne A (01/03/2020) et je veux avoir l'année dans la colonne B
==========================================================
Sub Macro1()
Sheets("Racco").Select
Range("B1").Select
ActiveCell.FormulaR1C1 = "Année"
Range("B2").Select
ActiveCell.FormulaR1C1 = "=YEAR(RC[-1])"
Range("B2").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
'recopie jusquè à la derniere ligne non vide
premiere = Range("B" & Rows.Count).End(xlUp).Row
dernière = Range("A" & Rows.Count).End(xlUp).Row
Range("B" & premiere & ":B" & dernière).FillDown
End Sub
==========================================================
Si je remplace
ActiveCell.FormulaR1C1 = "=YEAR(RC[-1])"
par une formule plus complexe
ActiveCell.FormulaR1C1 = "=SI(ESTNUM(CHERCHE(""1"",RC[-1])),""N°1"",(SI(ESTNUM(CHERCHE(""2"",RC[-1])),""N°2"",(SI(ESTNUM(CHERCHE(""3"",RC[-1])),""N°3"",)))))"
Le résultat affiché est "#NOM?#
Si j'édite la cellule B2 (F2 + Entrée sans modifier la formule), le résultat apparait : N°2 dans cet exemple
La 2ème formule est donc bonne
Pourquoi ai-je ce problème d'affichage du résultat ?
Merci
Jay