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";"").
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é.
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
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 ?![]()
Partager