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 navigue entre les onglets et que je reviens sur l'onglet "G" j'ai un débogage sur cette ligne de code
VB:
Code :
je ne comprends pas pourquoi, vue que sous 2013 tout allait bien. Le code ci-dessus est un extrait du code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ' Insertion lien hypertexte ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", _ SubAddress:=Cible, TextToDisplay:=NouveauNom
Si quelqu'un pouvait m'aider, ou avoir un début de piste pour modifier ce code ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 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
Je vous joint mon fichier.
Merci d'avance, a tous ceux qui liront mon post, et qui pourront m'aider.
Partager