ANTONY34200
XLDnaute Occasionnel
Bonjour à tout le forum.
J'ai un soucis depuis que je suis passé sur excel 2019 pro.
Avec 2013 pro, j'ai créée avec l'aide du forum une application de planning.
Sous 2013 pro, tout fonctionne parfaitement.
Sous 2019 pro, j'ai un soucis avec un code vba, dans le module "fonction_et_sous programme".
losrque que je nagigue entre les onglets et que je reviens sur l'onglet "G" j'ai un débogage sur cette ligne de code
je ne comprends pas pourquoi, vue que sous 2013 tout allait bien. Le code ci-dessus est un extrait du code suivant :
Si quelqu'un pouvait m'aider, ou avoir un début de piste pour modifier ce code ...
Je vous joint mon fichier.
Merci d'avance, a tous ceux qui liront mon post, et qui pourront m'aider.
J'ai un soucis depuis que je suis passé sur excel 2019 pro.
Avec 2013 pro, j'ai créée avec l'aide du forum une application de planning.
Sous 2013 pro, tout fonctionne parfaitement.
Sous 2019 pro, j'ai un soucis avec un code vba, dans le module "fonction_et_sous programme".
losrque que je nagigue entre les onglets et que je reviens sur l'onglet "G" j'ai un débogage sur cette ligne de code
VB:
' Insertion lien hypertexte
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", _
SubAddress:=Cible, TextToDisplay:=NouveauNom
Code:
Sub CumulTempsMensuel()
t0 = Timer
' Accélération par inhib events
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
' Effacement liste agents et temps
Sheets("G").Range("B6:C100").ClearContents
' Construction liste agents
Nagents = Application.WorksheetFunction.CountA(Sheets("Parametre").Range("H4:H100"))
For N = 1 To Nagents
NouveauNom = Sheets("Parametre").Range("H" & 3 + N)
IndexAGT = Sheets("Parametre").Range("J" & 3 + N)
Sheets("G").Range("B" & 5 + N).Select
Cible = "'" & "AGT " & IndexAGT & "'!$D$5"
' Insertion lien hypertexte
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", _
SubAddress:=Cible, TextToDisplay:=NouveauNom
Next N
' transfert tableau planning dans array
tablo = Range("D6:QL36")
' Calcul des temps par agent
For Agent = 1 To Nagents ' Pour tous les agents
NomAgent = LCase(Cells(Agent + 5, 2))
Durée = 0
For Jour = 1 To 31 ' Pour tous les jours
For Sites = 1 To 90 ' Pour tous les sites
Nom = tablo(Jour, 5 * Sites - 3) ' Colonne du nom
If LCase(Nom) = NomAgent Then ' Si c'est l'agent concerné
Tdeb = tablo(Jour, 5 * Sites - 3 + 2) ' Recup temps de début
Tfin = tablo(Jour, 5 * Sites - 3 + 4) ' Recup temps de fin
If Tfin <= Tdeb Then Tfin = Tfin + 1 ' Si fin < début on rajoute 24H
Durée = Durée + Tfin - Tdeb ' Ajout du temps à la durée
End If
Next Sites
Next Jour
If Durée * 24 > 0 Then
Cells(Agent + 5, 3) = Durée * 24 ' on affiche que s'il y a un temps
End If
Next Agent
' Retour events
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
Application.StatusBar = "Temps de calcul page G : " & Round(1000 * (Timer - t0), 0) & "ms"
End Sub
Si quelqu'un pouvait m'aider, ou avoir un début de piste pour modifier ce code ...
Je vous joint mon fichier.
Merci d'avance, a tous ceux qui liront mon post, et qui pourront m'aider.