Extraire une valeur sur un nombre de ligne indéterminé

Bonjour,

Je vous joint un extrait du fichier excel sur lequel je travaille.

Sur la première feuille, l'ensemble des données de production d'une journée.

La colonne G concerne l'heure (heure-minute-seconde) à laquelle a été produite la pièce.

Je souhaite extraire la donnée heure de cette colonne pour chacune des pièces. (colonne MC) Mon code est dans le module1

L'idée est ensuite de calculer le nombre de pièce produite bonne (colonne LU = 0) pour chaque tranche horaire dans la feuille2.

Le problème est que je fais une boucle sur chacune des lignes ce qui rend le temps d'exécution de cette macro très long.

De plus, le nombre de pièce produite par jour est variable, (le nombre de ligne est variable), sinon j'aurai directement utilisé une fonction excel comme je le fait pour compter le nombre de pièces produites par tranche horaire sur la feuille2.

Comment puis-je améliorer ma macro pour améliorer son temps d'exécution ?

Je vous remercie de votre aide.

Anthony

Bonjour,

une proposition, à tester

Sub heure()
    Application.ScreenUpdating = False
    ac = Application.Calculation
    Application.Calculation = xlCalculationManual
    With Worksheets(1)
        If .Range("A2") = "" Then Exit Sub
        derniereligne = .Range("A2").CurrentRegion.End(xlDown).Row
        .Range("MC1").Value = "Heures"
        For i = 2 To derniereligne
            .Cells(i, 341) = Int(.Cells(i, 7) / 10000)
        Next i
    End With
    Application.Calculation = ac
End Sub

Merci ! C'est vraiment beaucoup mieux

Rechercher des sujets similaires à "extraire valeur nombre ligne indetermine"