fr832
XLDnaute Occasionnel
Bonjour à tous,
Une petite question j'utilise ce code ci-dessous afin de saisir des données dans une feuille excel,
ce dernier fonctionne normalement mais il est long pour s'exécuter environ 25 secondes, est-ce normal?
Le code
	
		
le code de ma mise en forme "mefcAntipol
	
	
	
	
	
		
Par avance merci pour vos conseils sur le code éventuellement à améliorer.
Cordialement.
	
		
			
		
		
	
				
			Une petite question j'utilise ce code ci-dessous afin de saisir des données dans une feuille excel,
ce dernier fonctionne normalement mais il est long pour s'exécuter environ 25 secondes, est-ce normal?
Le code
		Code:
	
	
	' Mise en place des valeurs saisies
  
With Sheets("Antipol")
    
    DerLigne = .Cells(Rows.Count, "A").End(xlUp).Row + 1
        .Cells(DerLigne, 1) = Label_Fiche
        .Cells(DerLigne, 2) = Format(DTPicker1, "dd-mmm-yyyy")  'Format pour ne mettre que jj-mmm-aaaa
        .Cells(DerLigne, 3) = Format(TXT_1, "##:##")
        .Cells(DerLigne, 4) = Format(TXT_2, "##:##")
        .Cells(DerLigne, 5).FormulaR1C1 = "=RC[-1]-RC[-2]"
        .Cells(DerLigne, 6) = UCase(TXT_11) 'ucase pour mettre en majuscule
        .Cells(DerLigne, 7) = Combo_1
        .Cells(DerLigne, 8) = Val(TXT_3) 'Val permet de convertir les données en format numérique
        If Me.TXT_4 = "" Then .Cells(DerLigne, 9) = "" Else .Cells(DerLigne, 9) = CDbl(Me.TXT_4)
        .Cells(DerLigne, 10) = Combo_2
        .Cells(DerLigne, 11) = Format(TXT_5, "##:##")
        .Cells(DerLigne, 12) = Format(TXT_6, "##:##")
        .Cells(DerLigne, 13) = Combo_3
        If Me.TXT_7 = "" Then .Cells(DerLigne, 14) = "" Else .Cells(DerLigne, 14) = CDbl(Me.TXT_7) 'ce code permet de pauser la condition si vide on met rien sinon on efectue la saisie cela afin d'éviter un 0 lorsqu'il n'y a pas de données dans la textbox
        If Me.TXT_8 = "" Then .Cells(DerLigne, 15) = "" Else .Cells(DerLigne, 15) = CDbl(Me.TXT_8)
        If Me.TXT_9 = "" Then .Cells(DerLigne, 16) = "" Else .Cells(DerLigne, 16) = CDbl(Me.TXT_9)
        .Cells(DerLigne, 17) = Combo_4
        .Cells(DerLigne, 18) = Txt_10
        .Cells(DerLigne, 20).FormulaR1C1 = "=MONTH(RC[-18])"
        .Cells(DerLigne, 21).FormulaR1C1 = "=YEAR(RC[-19])"
  
End With
    
 'Appel la mise en forme
 Call mefcAntipol
    
    
'Ferme l'userform
Unload Me
End Sub
	le code de ma mise en forme "mefcAntipol
		Code:
	
	
	Sub mefcAntipol()
  Dim DerLig As Long, Sht As Worksheet
  ' Définir la feuille de destination de la MFC
  Set Sht = Sheets("Antipol")
  ' Mémoriser la dernière ligne remplie
  DerLig = Sht.Range("A" & Rows.Count).End(xlUp).Row
  ' Avec les cellules de la colonne A à Q
  With Sht.Range(Sht.Cells(DerLig, 1), Sht.Cells(DerLig, 18))
    .FormatConditions.Delete
    .FormatConditions.Add Type:=xlExpression, Formula1:= _
                          "=ET(" & Cells(DerLig, 1).Address & "<>"""";MOD(LIGNE();2)=0)"
    With .FormatConditions(1).Borders
      .LineStyle = xlContinuous
      .Weight = xlThin
      .ColorIndex = xlAutomatic
    End With
    .FormatConditions(1).Interior.ColorIndex = 44
    .FormatConditions.Add Type:=xlExpression, Formula1:="=" & Cells(DerLig, 1).Address & "<>"""""
    With .FormatConditions(2).Borders
      .LineStyle = xlContinuous
      .Weight = xlThin
      .ColorIndex = xlAutomatic
    End With
  End With
End Sub
	Par avance merci pour vos conseils sur le code éventuellement à améliorer.
Cordialement.