Cherche solution incompatibilité de type excel vba

Résolu/Fermé
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 - Modifié le 5 nov. 2019 à 16:55
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 - 5 nov. 2019 à 19:34
Bonjour,

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:

1 réponse

ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 139
Modifié le 5 nov. 2019 à 18:09
Bonjour,

Regarde bien ton code, ta variable PlageValeurJAG n'est pas affectée à une plage de cellule.

Pb ou mélange avec PlageValeurJAG et PlageValeurValeurJAG !!!

Il est bien de mettre Option Explicit en début de module pour détecter les variables non déclarées.

Cordialement
0
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
5 nov. 2019 à 19:34
Merci ! ALS35,
En effet, une erreur de syntaxe....
J'ai rajouté option explicit au début. Encore merci pour ton aide précieuse !
0