Bonjour à tous,
CODE : ADMIN
PASSWORD: ADMIN
Je reviens vers vous, pour une petite solution... J'ai fini mon tableau de projet (super 😀) mais le fichier est devenu super lent à cause du fait que chaque formule attend une mise à jour éventuelle. Il m'a été proposé de voir pour traduire mes formules en VBA.
J'ai commencé par FormulaR1C1 qui va appliquer la formule dans les lignes cibles. mais certaine cellule ne sont correctement retransmise dans le tableur
Je sais pas comment simplifier chacune de mes formules en VBA
CODE : ADMIN
PASSWORD: ADMIN
Je reviens vers vous, pour une petite solution... J'ai fini mon tableau de projet (super 😀) mais le fichier est devenu super lent à cause du fait que chaque formule attend une mise à jour éventuelle. Il m'a été proposé de voir pour traduire mes formules en VBA.
J'ai commencé par FormulaR1C1 qui va appliquer la formule dans les lignes cibles. mais certaine cellule ne sont correctement retransmise dans le tableur
VB:
Sub IER()
Dim Wb As Workbook
Set Wb = ThisWorkbook
Dim sheetIER As Worksheet
Set sheetIER = Wb.Worksheets("IER")
Dim i As Integer
Dim lastRow As Integer
lastRow = getLastRow("P")
For i = 7 To lastRow
'display CDN
sheetIER.Range("AJ" & i).FormulaR1C1 = "=IF(AND([@Colonne12]="""",[@Colonne13]=""""),"""",CONCATENATE([@DEPARTMENT],""_"",[@SERVICE],""_"",[@FUNCTION]))"
'NUMBER CDN erreur à partir de SERVICE_FUNCTION_NUM[SERVICE]&SERVICE_FUNCTION_NUM[FUNCTION
sheetIER.Range("Ak" & i).FormulaR1C1 = "=IFERROR(IF(AND([@Colonne12]="""",[@Colonne13]=""""),"""",CONCATENATE(Données_bulle_commune,SIT_CDN,""-"",INDEX(UNITE[A/B],MATCH([@DEPARTMENT],UNITE[TRIGRAME],0)),INDEX(SERVICE_FUNCTION_NUM[NUM_CDN],MATCH([@SERVICE]&[@FUNCTION],SERVICE_FUNCTION_NUM[SERVICE]&SERVICE_FUNCTION_NUM[FUNCTION],0)))),"""")"
'PAGING ALL CDN
sheetIER.Range("AM" & i).FormulaR1C1 = "=IF(AND([@Colonne12]="""",[@Colonne13]=""""),"""",""YES"")"
'DISPLAY MDN
sheetIER.Range("BU" & i).FormulaR1C1 = "=IF(AND([@Colonne50]="""",[@Colonne51]=""""),"""",CONCATENATE(Données!R4C6,"" "",[@Colonne53]))"
'NUMBER MDN erreur à partir de SERVICE_FUNCTION_NUM[SERVICE]&SERVICE_FUNCTION_NUM[FUNCTION]
sheetIER.Range("BV" & i).FormulaR1C1 = "=IFERROR(IF(AND([@Colonne50]="""",[@Colonne51]=""""),"""",CONCATENATE(Données_Mdn,SIT_MDN,INDEX(UNITE[A/B],MATCH([@DEPARTMENT],UNITE[TRIGRAME],0)),INDEX(SERVICE_FUNCTION_NUM[NUM_CDN],MATCH([@SERVICE]&[@FUNCTION], SERVICE_FUNCTION_NUM[SERVICE]&SERVICE_FUNCTION_NUM[FUNCTION],0)))),"""")"
'PAGING MDN
sheetIER.Range("BX" & i).FormulaR1C1 = "=IF(AND([@Colonne50]="""",[@Colonne51]=""""),"""",""YES"")"
Next i
End Sub
Public Function getLastRow(colone As String) As Integer
Dim Wb As Workbook
Set Wb = ThisWorkbook
Dim sheetIER As Worksheet
Set sheetIER = Wb.Worksheets("IER")
For ligne = 7 To 500 'sheetIER.UsedRange.Rows.Count
Dim value As String
value = sheetIER.Range(colone & ligne).value
If value = "" Then
getLastRow = ligne
Exit Function
End If
Next ligne
getLastRow = 500
End Function
Je sais pas comment simplifier chacune de mes formules en VBA