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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?