lBonjour à tous
J'ai un fichier qui a plus de 35000 lignes et 30 colonnes reprenant les dates et les textes. Dans ce fichier je fais des calculs (exemple la fonction SOMMEPROD# pour calculer certains indicateurs par mois et année. Puis que les données sont saisies chaque jour le fichier devient lourd alors j'ai pensé à une solution VBA qui me permettrait de ne calculer qu'après avoir cliquer sur un bouton.
Voici un exemple de code que j'ai essayé #Je suis zero en VBA# mais je me rend compte qu'il est lent
Ce que j'ai voulu faire : Prendre la valeur maximale entre la date de la colonne 1 et celle de la colonne deux dans le cas ou les deux existent puis la mettre dans la colonne 4 et ensuite faire la soustraction entre la colonne 4 et 3 et mettre le résultat dans la collone 5.
Alors les Pro je vous remercie pour vos corrections et des suggestions d'optimisation pour que ce soit plus rapide
J'ai un fichier qui a plus de 35000 lignes et 30 colonnes reprenant les dates et les textes. Dans ce fichier je fais des calculs (exemple la fonction SOMMEPROD# pour calculer certains indicateurs par mois et année. Puis que les données sont saisies chaque jour le fichier devient lourd alors j'ai pensé à une solution VBA qui me permettrait de ne calculer qu'après avoir cliquer sur un bouton.
Voici un exemple de code que j'ai essayé #Je suis zero en VBA# mais je me rend compte qu'il est lent
Code:
Sub calculer##
Dim Ws As Worksheet
Set Ws = Worksheets#"Feuil1"#
n = Ws.Range#"A50000"#.End#xlUp# - 1
For i = 2 To n
debut = Ws.Cells#i, 1#
fin = Ws.Cells#i, 2#
If IsDate#debut# And IsDate#fin# Then
Cells#i, 4#.Value = Application.Max#debut, fin#
Cells#i, 5#.Value = Cells#i, 4# - Cells#i, 3)
End If
Next i
End Sub
Alors les Pro je vous remercie pour vos corrections et des suggestions d'optimisation pour que ce soit plus rapide