Lionelkoch
XLDnaute Nouveau
Bonjour,
j'essaye d'ecrire une macro pour verfier dans une table de chiffres, si il y a des données non comprises entre -0.0001 et 0.0001 si c'est le cas, ecrire sur une feuille deux donnes qui se trouvent sur la meme ligne et la meme colonne que cette donnée.
Voici le code, mais j'ai un petit souci que je n'arrive pas a résoudre. le souci est la "Sheets("Test_Variances").Cells(NumRow, 1) = Cells(i, 3)"
Sub start()
Dim NumRow As Integer
Dim FirstRow As Integer, FirstCol As Integer, LastRow As Integer, LastCol As Integer
Dim FirstMonth As Byte, ColAccount As Integer, BRU As String
Dim NbSkip As Long
NumRow = 2
NbSkip = 0
FirstMonth = 1
'Variance
Sheets("Variances").Select
FirstCol = 5
LastCol = 43
FirstRow = 16
LastRow = Range("LR_VAR")
ColAccount = 3
WriteFlatFile FirstRow, FirstCol, LastRow, LastCol, FirstMonth, 1, ColAccount
End Sub
Sub WriteFlatFile(FirstRow As Integer, FirstCol As Integer, LastRow As Integer, LastCol As Integer, Mo As Byte, MoInc As Byte, ColAccount)
Dim n As Integer, i As Integer, M As Byte, ICP As String, pos As Byte
Dim CodeAccount As String
Application.DecimalSeparator = "."
'Application.ScreenUpdating = False
Cells(FirstRow, FirstCol).Select
M = Mo
'Sheets("Test_Variances").Select
'Range("A1") = "ERROR ENTITIES"
For n = FirstCol To LastCol Step MoInc
For i = FirstRow To LastRow
If Not IsError(Cells(i, n)) Then
Cells(i, n).Select
If Selection <> 0 Then
'If Selection < -0.00001 Or Selection > 0.00001 Then
NbSkip = NbSkip + 1
Else
Sheets("Test_Variances").Cells(NumRow, 1) = Cells(i, 3)
NumRow = NumRow + 1
End If
End If
Next i
M = M + 1
Next n
End Sub
Pour info j'ai recopié un bout de code d'une macro qui genere des données en fonction de chiffres trouvés dans un zone.
Si il y a des gens qui peuvent aider ca serait super.
j'essaye d'ecrire une macro pour verfier dans une table de chiffres, si il y a des données non comprises entre -0.0001 et 0.0001 si c'est le cas, ecrire sur une feuille deux donnes qui se trouvent sur la meme ligne et la meme colonne que cette donnée.
Voici le code, mais j'ai un petit souci que je n'arrive pas a résoudre. le souci est la "Sheets("Test_Variances").Cells(NumRow, 1) = Cells(i, 3)"
Sub start()
Dim NumRow As Integer
Dim FirstRow As Integer, FirstCol As Integer, LastRow As Integer, LastCol As Integer
Dim FirstMonth As Byte, ColAccount As Integer, BRU As String
Dim NbSkip As Long
NumRow = 2
NbSkip = 0
FirstMonth = 1
'Variance
Sheets("Variances").Select
FirstCol = 5
LastCol = 43
FirstRow = 16
LastRow = Range("LR_VAR")
ColAccount = 3
WriteFlatFile FirstRow, FirstCol, LastRow, LastCol, FirstMonth, 1, ColAccount
End Sub
Sub WriteFlatFile(FirstRow As Integer, FirstCol As Integer, LastRow As Integer, LastCol As Integer, Mo As Byte, MoInc As Byte, ColAccount)
Dim n As Integer, i As Integer, M As Byte, ICP As String, pos As Byte
Dim CodeAccount As String
Application.DecimalSeparator = "."
'Application.ScreenUpdating = False
Cells(FirstRow, FirstCol).Select
M = Mo
'Sheets("Test_Variances").Select
'Range("A1") = "ERROR ENTITIES"
For n = FirstCol To LastCol Step MoInc
For i = FirstRow To LastRow
If Not IsError(Cells(i, n)) Then
Cells(i, n).Select
If Selection <> 0 Then
'If Selection < -0.00001 Or Selection > 0.00001 Then
NbSkip = NbSkip + 1
Else
Sheets("Test_Variances").Cells(NumRow, 1) = Cells(i, 3)
NumRow = NumRow + 1
End If
End If
Next i
M = M + 1
Next n
End Sub
Pour info j'ai recopié un bout de code d'une macro qui genere des données en fonction de chiffres trouvés dans un zone.
Si il y a des gens qui peuvent aider ca serait super.