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