Je cherche à additionner des heures et minutes puis diviser le résultat par 60 et puis par 7.11 pour calculer le nombre de jour/agent.
Une erreur incompatibilité de type (erreur 13)survient à la ligne :
PlageValeurJAG(M, 1) = ((PlageIRHheure(M, 1) + PlageIRHminute(M, 1)) / DIVIS) / ETP 'Boucle sur les lignes feuille Data
Voici mon code :
Private Sub Worksheet_Activate() ' début programme
Application.ScreenUpdating = False 'bloque le rafraichissement de l'affichage
Dim FeuilleData As Worksheet, FeuilleRésultat As Worksheet 'Déclaration et affectation des variables de travail - Base et cible
Set FeuilleData = Sheets("TAO2019") ' Base
Set FeuilleRésultat = Sheets("TAO2019") ' Résultat = cible
Dim IndiceFinData As Long, IndiceFinRésultat As Long 'Déclaration et affectation des variables de la boucle - Calcul dernière ligne
IndiceFinData = FeuilleData.Range("A1").End(xlDown).Row 'Recherche de la dernière ligne incrémentée - Base
IndiceFinRésultat = FeuilleRésultat.Range("A1").End(xlDown).Row 'Recherche de la dernière ligne incrémentée - Cible
Dim PlageDateEnCours As Variant 'Déclaration et affectation de la variable > plage ou se trouve les dates saisies
PlageDateEnCours = FeuilleData.Range("C1:C" & IndiceFinData).Value 'Indication dates saisie OSCARR en colonne C
Dim PlageIRHheure As Variant 'Déclaration et affectation de la variable > plage ou se trouve l'IRH en heure saisie
PlageIRHheure = FeuilleData.Range("H1:H" & IndiceFinData).Value 'Indication IRH en heures OSCARR en colonne H
Dim PlageIRHminute As Variant 'Déclaration et affectation de la variable > plage ou se trouve l'IRH en minute saisie
PlageIRHminute = FeuilleData.Range("I1:I" & IndiceFinData).Value 'Indication IRH en minutes OSCARR en colonne I
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 5ème calcul Jour/Agent
Dim PlageValeurJAG As Variant 'Déclaration et affectation de la variable > plage ou appliquer le résultat du calcul en jour/agent
PlageValeurValeurJAG = FeuilleRésultat.Range("O1:O" & IndiceFinRésultat).Value 'Boucle sur la colonne pour définir la dernière ligne et saisie résultat en colonne O
Dim ETP As Variant
Dim DIVIS As Variant
ETP = 7.11
DIVIS = 60
Dim M As Double
'Calculs
For M = 2 To IndiceFinRésultat 'Boucle sur les lignes feuille Résultat
PlageValeurValeurJAG(M, 1) = 0
PlageValeurJAG(M, 1) = ((PlageIRHheure(M, 1) + PlageIRHminute(M, 1)) / DIVIS) / ETP 'Boucle sur les lignes feuille Data
Next M ' boucle
FeuilleRésultat.Range("O1:O" & IndiceFinRésultat).Value = PlageValeurJAG 'Ecriture résultat
Application.ScreenUpdating = True 'débloque le rafraichissement de l'affichage
End Sub 'Fin programme
Merci d'avance pour votre aide !
Cordialement
Configuration: Windows / Internet Explorer 11.0
A voir également:
Cherche solution incompatibilité de type excel vba
En effet, une erreur de syntaxe....
J'ai rajouté option explicit au début. Encore merci pour ton aide précieuse !