Cherche solution incompatibilité de type excel vba [Résolu]

Messages postés
142
Date d'inscription
jeudi 23 août 2012
Statut
Membre
Dernière intervention
6 novembre 2019
-
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
Afficher la suite 

1 réponse

Messages postés
244
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
8 novembre 2019
9
0
Merci
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
PYGOS69
Messages postés
142
Date d'inscription
jeudi 23 août 2012
Statut
Membre
Dernière intervention
6 novembre 2019
2 -
Merci ! ALS35,
En effet, une erreur de syntaxe....
J'ai rajouté option explicit au début. Encore merci pour ton aide précieuse !
Commenter la réponse de ALS35