Insertion de formule dans Excel
Bonsoir,
J'ai un fichier Excel généré par un script d'extraction d'info de l'AD avec les colonnes : Site AD, Login utilisateur, Nb jours depuis chgt MdP, Avance ou Standard, Restriction sur les postes, Etat du compte et Anomalie.
Je veux renseigner automatiquement la colonne Anomalie par une formule qui détecte par un "X", par exemple l'anomalie : Nb jours depuis chgt MdP (col C) > 120 jours avec la formule =SI(Cx>120;"X";"").
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Dim objXL
strChemin=Left(WScript.ScriptFullName,Len(WScript.ScriptFullName) - Len(WScript.ScriptName))
strFichier="list.xls"
strFormuleAnomalie="=SI(C*NL*>120;""X"";"""")"
Anomalie
Function IntOuvrirFichierEnEcriture(strFichier)
Dim intCurs
Set objXL = CreateObject("Excel.Application")
objXL.Workbooks.Open strFichier,0,0
objXL.Visible = True
objXL.screenupdating=True
intCurs=1
Do While objXL.Cells(intCurs,1)<>""
intCurs=intCurs+1
Loop
IntOuvrirFichierEnEcriture=intCurs
End Function
Sub Anomalie
For i=2 To IntOuvrirFichierEnEcriture(strChemin&strFichier)-1
Cellule i,7,Replace(strFormuleAnomalie,"*NL*",i)
Next
End Sub
Sub Cellule(NL,NC,chaine)
objXL.Cells(NL,NC).Value = Chaine
End Sub
Sub FermerFichierXLCourant
objXL.ActiveWorkbook.Save
objXL.ActiveWorkbook.Close True
objXL.Quit
End Sub |
Le PB : si la colonne "Anomalie" est au format "Standard" rien ne s'affiche. Si les cellules sont au format "Texte" la formule s'affiche mais pas son résultat, même si l'option Affichage\Formule est décoché.
Sur chaque cellule si je repasse par F2 + Entrée, la formule est recalculée et le résultat s'affiche.
Comment faire automatiquement par VBS ?:aie: