Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 rendre macro plus rapide

yahya belbachir

XLDnaute Occasionnel
Bonjour
j'ai un macro dans un userform qui est très long à repondre lorsque je click sur valider,y a t_il une possibilté de le rendre rapide?
mon macro pour le bouton de commande est:
Private Sub CommandButton1_Click()
Dim derligne As Integer
With Sheets("Histo")
derligne = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("A" & derligne).Value = TFact.Value
.Range("B" & derligne).Value = Date
.Range("C" & derligne).Value = Tnom
.Range("D" & derligne).Value = Tprenom
.Range("E" & derligne).Value = Tadresse
.Range("F" & derligne).Value = "'" & Tice.Value
.Range("G" & derligne).Value = Ttel.Value
.Range("H" & derligne).Value = CBtype1.Value
.Range("I" & derligne).Value = CBtype2.Value
.Range("J" & derligne).Value = CBtype3.Value
.Range("K" & derligne).Value = LabelDate
.Range("L" & derligne).Value = LabelDate2
.Range("M" & derligne).Value = Val(Me.Controls("CBqte1"))
.Range("N" & derligne).Value = Val(Me.Controls("CBqte2"))
.Range("O" & derligne).Value = Val(Me.Controls("CBqte3"))
.Range("P" & derligne).Value = Val(Me.Controls("Tprix1"))
.Range("Q" & derligne).Value = Val(Me.Controls("Tprix2"))
.Range("R" & derligne).Value = Val(Me.Controls("Tprix3"))
.Range("S" & derligne).Value = LabelDate3
.Range("T" & derligne).Value = CBrepas1
.Range("U" & derligne).Value = Val(Me.Controls("CBqte4"))
.Range("V" & derligne).Value = Val(Me.Controls("Tunit1"))
.Range("W" & derligne).Value = LabelDate4
.Range("X" & derligne).Value = CBrepas2
.Range("Y" & derligne).Value = Val(Me.Controls("CBqte5"))
.Range("Z" & derligne).Value = Val(Me.Controls("Tunit2"))
.Range("AA" & derligne).Value = LabelDate5
.Range("AB" & derligne).Value = CBrepas3
.Range("AC" & derligne).Value = Val(Me.Controls("CBqte6"))
.Range("AD" & derligne).Value = Val(Me.Controls("Tunit3"))
.Range("AE" & derligne).Value = LabelDate6
.Range("AF" & derligne).Value = CBrepas4
.Range("AG" & derligne).Value = Val(Me.Controls("CBqte7"))
.Range("AH" & derligne).Value = Val(Me.Controls("Tunit4"))
.Range("AI" & derligne).Value = LabelDate7
.Range("AJ" & derligne).Value = CBrepas5
.Range("AK" & derligne).Value = Val(Me.Controls("CBqte8"))
.Range("AL" & derligne).Value = Val(Me.Controls("Tunit5"))
.Range("AM" & derligne).Value = LabelDate8
.Range("AN" & derligne).Value = CBrepas6
.Range("AO" & derligne).Value = Val(Me.Controls("CBqte9"))
.Range("AP" & derligne).Value = Val(Me.Controls("Tunit6"))
.Range("AQ" & derligne).Value = LabelDate9
.Range("AR" & derligne).Value = CBrepas7
.Range("AS" & derligne).Value = Val(Me.Controls("CBqte10"))
.Range("AT" & derligne).Value = Val(Me.Controls("Tunit7"))
.Range("AU" & derligne).Value = LabelDate10
.Range("AV" & derligne).Value = CBrepas8
.Range("AW" & derligne).Value = Val(Me.Controls("CBqte11"))
.Range("AX" & derligne).Value = Val(Me.Controls("Tunit8"))
.Range("AY" & derligne).Value = LabelDate11
.Range("AZ" & derligne).Value = CBrepas9
.Range("BA" & derligne).Value = Val(Me.Controls("CBqte12"))
.Range("BB" & derligne).Value = Val(Me.Controls("Tunit9"))
.Range("BC" & derligne).Value = LabelDate12
.Range("BD" & derligne).Value = CBrepas10
.Range("BE" & derligne).Value = Val(Me.Controls("CBqte13"))
.Range("BF" & derligne).Value = Val(Me.Controls("Tunit10"))
.Range("BG" & derligne).Value = LabelDate13
.Range("BH" & derligne).Value = CBrepas11
.Range("BI" & derligne).Value = Val(Me.Controls("CBqte14"))
.Range("BJ" & derligne).Value = Val(Me.Controls("Tunit11"))
end sub

merci pour votre réponse
 

eriiic

XLDnaute Barbatruc
Bonjour,

exemple avec 3 valeurs :
VB:
Dim derligne As Integer, tabl(1 To 1, 1 To 3)
With Sheets("Histo")
    derligne = .Range("A" & Rows.Count).End(xlUp).Row + 1
    tabl(1, 1) = TFact.Value
    tabl(1, 2) = Date
    tabl(1, 3) = Tnom
    .Cells(derligne, 1).Resize(, UBound(tabl, 2)) = tabl
End With
eric
 

yahya belbachir

XLDnaute Occasionnel
Bonjour Eric
merci pour votre réponse,j'ai essayé ce code mais il m'a donné seulement le nom et la date,puis_je rajouter quelque chose peut être?
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…