oui c'est ca !
Alors j'ai 3 codes différents dans 3 modules, j'ai la même erreur avec les 3 codes
le miens :
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| Dim Nom As String
Sub ouvrir_fichiers()
Application.ScreenUpdating = False
chemin = Range("B4").Value & "\"
Nom = Dir(chemin)
While Nom <> ""
fichier = chemin & Nom
Workbooks.Open fichier
conditionnelle
Workbooks(Nom).Save
Workbooks(Nom).Close
Nom = Dir()
Wend
End Sub
Sub conditionnelle()
Range("I5").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ET($D5=""Délai apparent"";I$2<SERIE.JOUR.OUVRE($I$2;$E5))"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 16757387
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ET($D5=""Délai total"";I$2<SERIE.JOUR.OUVRE($I$2;$E5))"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0.599993896298105
.PatternTintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Range("I5").Select
Selection.Copy
Range("I5:AF6").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub |
les deux que l'on m'a proposé :
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| Dim Nom As String
Dim Wb As Workbook
Dim NomFeuille As String
Sub ouvrir_fichiers()
Application.ScreenUpdating = False
chemin = Range("B4").Value & "\"
NomFeuille = "NetRequirements"
Nom = Dir(chemin)
While Nom <> ""
Set Wb = Workbooks.Open(chemin & Nom)
conditionnelle
Wb.Close True
Nom = Dir()
Wend
Application.ScreenUpdating = True
End Sub
Sub conditionnelle()
With Wb.Worksheets(NomFeuille)
With .Range("I5")
.FormatConditions.Add Type:=xlExpression, Formula1:="=ET($D5=""Délai apparent"";I$2<SERIE.JOUR.OUVRE($I$2;$E5))"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1)
With .Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 16757387
.TintAndShade = 0
.PatternTintAndShade = 0
End With
.StopIfTrue = False
End With
.FormatConditions.Add Type:=xlExpression, Formula1:="=ET($D5=""Délai total"";I$2<SERIE.JOUR.OUVRE($I$2;$E5))"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1)
With .Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0.599993896298105
.PatternTintAndShade = 0
End With
.StopIfTrue = False
End With
.Copy
End With
.Range("I5:AF6").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
Application.CutCopyMode = False
End Sub |
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| Dim Nom As String
Dim Wb As Workbook
Dim NomFeuille As String
Dim ListeFichier(1 To 1000), NbFichiers As Long
Sub ouvrir_fichiers()
Dim i As Long
Application.ScreenUpdating = False
chemin = Range("B4").Value & "\"
NomFeuille = "NetRequirements"
Nom = Dir(chemin)
While Nom <> ""
NbFichiers = NbFichiers + 1
ListeFichier(NbFichiers) = chemin & Nom
Nom = Dir()
Wend
For i = 1 To NbFichiers
Set Wb = Workbooks.Open(ListeFichier(i))
conditionnelle
Wb.Close True
Next i
Application.ScreenUpdating = True
End Sub
Sub conditionnelle()
With Wb.Worksheets(NomFeuille)
With .Range("I5")
.FormatConditions.Add Type:=xlExpression, Formula1:="=$D5=""Délai apparent"""
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1)
With .Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 16757387
.TintAndShade = 0
.PatternTintAndShade = 0
End With
.StopIfTrue = False
End With
.FormatConditions.Add Type:=xlExpression, Formula1:="=ET($D5=""Délai total"";I$2<SERIE.JOUR.OUVRE($I$2;$E5))"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1)
With .Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0.599993896298105
.PatternTintAndShade = 0
End With
.StopIfTrue = False
End With
.Copy
End With
.Range("I5:AF6").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
Application.CutCopyMode = False
End Sub |
On peut voir sur le code 3 que j'ai essayer en changeant la MFC, j'ai simplifier la formule
Avec :
Formula1:="=ET($D5=""Délai apparent"";I$2<SERIE.JOUR.OUVRE($I$2;$E5))"
ca "bug"
et avec :
Formula1:="=$D5=""Délai apparent"""
ca fonctionne sur tous les fichiers, donc on pourrai penser que le problème vient de la formule mais dans ce cas je ne comprend pas pk elle ne fonctionne pas sur tous les fichiers ...
Encore pire, je viens de m'apercevoir que ca fonctionne sur le fichier 1
ca bug sur le 2 grâce au "pas à pas" je fait fermé le fichier 2 sans faire de mise en forme et j'ouvre le fichier 3 et ca marche !!!
et ca re bug encore sur le 4
en gros ca bug sur 1 fichier sur 2
je comprend rien :/
et pardon :
les fichiers sont en .xlsx
Partager