mikael2235
XLDnaute Occasionnel
Bonjour à tous,
Je crois que mon PC est devenu fou, ou alors c’est peut-être moi ?
J’ai un fichier excel, et une macro qui s’éxécute lors de l’enregistrement, J’ai mis des conditions car je ne veux pas que le transfert des données se fasse si ma feuille est vide.
J’ai donc le code suivant :
Le problème vient de ma condition IF ou plutôt de mon s1 :
En éxécution pas à pas, lorsque je mets ma souris sur s1, il me trouve 124.575, et quand je mets sur Range("D14") il me trouve aussi 124.575, mais execute la condition.
Si je remplace le s1, par Range("D14"), il ne me fais pas la condition.
Si je remplace le s1, par 124.575, il ne me fais pas la condition.
Le problème vient donc de mon s1. Le format de ma cellule D14, est bien au format Nombre avec 3 décimales.
Pouvez-vous m’aider svp ?
Ma macro bug à cause de ceci !
Merci. Mikael
Je crois que mon PC est devenu fou, ou alors c’est peut-être moi ?
J’ai un fichier excel, et une macro qui s’éxécute lors de l’enregistrement, J’ai mis des conditions car je ne veux pas que le transfert des données se fasse si ma feuille est vide.
J’ai donc le code suivant :
Code:
Public Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
' --- APPEL MACRO CARTE CONTROLE INJECTION ---
Sheets("Datas").Activate
[e3].End(xlToRight).Select
'Dim s1 As Double
s1 = Application.WorksheetFunction.Sum(Range(ActiveCell, ActiveCell.Offset(10, 0)))
If IsEmpty(Range("F3")) = False And IsEmpty(Range("F17")) = False And Range("D14") <> s1 Then
'Workbooks.Open Filename:="Carte_Controle_Carter_C216.xls"
'Call Module1.transfert
Workbooks("Carte_Controle_Carter_C216.xls").Close SaveChanges:=True
MsgBox ("Les données ont bien été enregistrés")
End If
Sheets("Datas").Activate
[e3].End(xlToRight).Select
Dim s2 As Double
s2 = Application.WorksheetFunction.Sum(Range(ActiveCell, ActiveCell.Offset(10, 0)))
Range("D14").Value = s2
Sheets("Stats-0160").Activate
' --------------------------------------------
End Sub
Le problème vient de ma condition IF ou plutôt de mon s1 :
En éxécution pas à pas, lorsque je mets ma souris sur s1, il me trouve 124.575, et quand je mets sur Range("D14") il me trouve aussi 124.575, mais execute la condition.
Si je remplace le s1, par Range("D14"), il ne me fais pas la condition.
Si je remplace le s1, par 124.575, il ne me fais pas la condition.
Le problème vient donc de mon s1. Le format de ma cellule D14, est bien au format Nombre avec 3 décimales.
Pouvez-vous m’aider svp ?
Ma macro bug à cause de ceci !
Merci. Mikael