probleme avec le reseau

flexi2202

XLDnaute Occasionnel
bonjour a tous
nous avons un agenda cree sous excel et nous aimerions le mettre en réseau
nous venons de faire des essais mais cela pose des soucis
si par exemple j ouvre le fichier et que je mets un que je fais enregistrer que mon fichier reste ouvert et que mon collègue laisse le fichier ouvert sur son pc , son fichier ne se mets pas a jour avec le nouveau rdv
il doit fermer son agenda et l ouvrir pour qu il soit a jour
y a t il un moyen lorsque j ouvre mon agenda d indiquer a mon collègue que l agenda ne peux pas être utilise par lui
oui je sais on peux le departager et ensuite le repartager
mais n y a t il pas une macro ou que sais je qui empêcherait que le fichier soit ouvert par nous deux en même temps
merci de l aide
 

flexi2202

XLDnaute Occasionnel
bonsoir
merci pour les fichiers et l aide
je viens de lancer le fichier plansauveferm
mais au bout d un moment il indique une erreur de compilation
Rem. Ne pas utiliser ces autres procédures: elles sont à l'usage exclusif des objets Rythmeur.
Public Function IdtRythmeurLancé(ByVal Ryth As Rythmeur, ByVal FréqHz As Double, ByRef Tac As Long) As Long
Dim P As Long, M As Long
On Error Resume Next: M = UBound(TRythmeurs): If Err Then ReDim TRythmeurs(1 To 1): M = 1
On Error GoTo 0
For P = 1 To M: Idt = Idt Mod M + 1: If TRythmeurs(Idt) Is Nothing Then Exit For
Next P: If P > M Then ReDim Preserve TRythmeurs(1 To P): Idt = P
Set TRythmeurs(Idt) = Ryth
SetTimer Application.HWnd, Idt:=Idt, DuréeMS:=Int(1000 / FréqHz + 0.5), AdrSub:=AddressOf TimerProc
Tac = GetTickCount
IdtRythmeurLancé = Idt
End Function
a la ligne 2
 

Dranreb

XLDnaute Barbatruc
Chez moi je n'ai pas d'erreur de compilation en faisant menu Débogage, Compiler VBAProject.
Une erreur d'exécution peut être ? Quel est le message d'erreur ?
À part ça est-ce que tout fonctionne maintenant dans le Progression.xlsm ?

Édition. Ah ! Il me vient une idée: Dans VBA, menu Outils, Options…, onglet Général, rubrique Récupération d'erreur, ne laissez surtout pas coché: Arrêt sur toutes les erreurs.
Cochez carrément: Arrêt dans le module de classe, ça facilite plus la mise au point que Arrêt sur les erreurs non gérées.
 
Dernière édition:

flexi2202

XLDnaute Occasionnel
bonjour
merci de l aide
voila j ai donc fait des essais donc j ai pris plansauferm
j ai fait menu Débogage, Compiler VBAProject.
et j ai ceci

ensuite
je clique sur ok
et j ai cette image qui apparaît

puis j essaye avec progression
je fais ceci
menu Débogage, Compiler VBAProject.
et j ai ceci comme message

je clique sur ok
et j ai ceci

puis je reprends le fichier plansauferm
en fessant ceci
Dans VBA, menu Outils, Options…, onglet Général, rubrique Récupération d'erreur, ne laissez surtout pas coché: Arrêt sur toutes les erreurs.
Cochez carrément: Arrêt dans le module de classe, ça facilite plus la mise au point que Arrêt sur les erreurs non gérées
voici le message d erreur
https://zupimages.net/up/18/46/tmqf.jpg
puis ceci si je clique sur ok
https://zupimages.net/up/18/46/qkpr.jpg

voila une copie quand je change dans option
https://zupimages.net/up/18/46/zsws.jpg
 

Dranreb

XLDnaute Barbatruc
Et à chaque fois AddressOf TimerProc est surligné ?
Chez moi ça ne pose aucun problème, pas d'erreur de compilation.
Il est vrai que chez moi je n'ai pas besoin non plus des mot clés PtrSafe dans les Declare.
Je crois qu'on va devoir se passer du décompte, ou alors l'écrire très différemment …
Le module MSauvFerm du second fichier PlanSauvFerm.xlsm joint au poste #12 n'en utilisait pas. Avez vous pu le faire fonctionner ?
 

Dranreb

XLDnaute Barbatruc
Par contre je viens de découvrir un truc: si je remplace 'AdrSub As Long' par 'AdrSub As LongPtr' dans la Private Declare PtrSafe Function SetTimer, ça marche tout aussi bien chez moi, sans plus. Mais qui sait, peut être que ça marcherait mieux chez vous ? …
 

flexi2202

XLDnaute Occasionnel
a present progression fonctionne super je sais utiliser les chronomètres et les autres boutons
en ayant changer ceci "AdrSub As LongPtr"

a present lorsque j ouvre progression et
PlanSauvFerm.xlsm
j ai bien un chronomètre qui s affiche et qui indique que le fichier va se fermer et se ferme
 

Dranreb

XLDnaute Barbatruc
Bien, vous alez donc pouvoir continuer les tests.
C'est curieux parce que si, en faisant F5 dessus, j'exécute cette petite procédure :
VB:
Sub test()
MsgBox TypeName(AddressOf TimerProc)
End Sub
elle m'affiche "Long". Et chez vous ?
Pourtant je suis sûr d'avoir un micro à architecture 64 bits de bus adresse.
 

Dranreb

XLDnaute Barbatruc
Non pas dans un nouveau module voyons, la TimerProc n'y est pas connue puisqu'elle est Private dans le module MRythmeur.
Mettez la juste après, dans celui-ci. Vous la supprimerez une fois le test fait. (Par touche F5, le curseur texte étant sur MsgBox par exemple)
 

Dranreb

XLDnaute Barbatruc
64 vous voulez dire. 61 ça n'existe chez personne.
Ce type de donnée LongLong n'a jamais existé sur aucune de mes machines.
Le problème des adresses de cette longueur semble avoir été réglé totalement différemment sur Excel 2016.
On dirait que les adresses y sont revenues à 32bits. Simplement elles seraient devenues, de façon transparente et automatique une adresse relative à celle d'une très grande page toujours bien définie de la mémoire réelle.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Alors ça doit être une question de système d'exploitation. Ou d'office. De fait il est souvent conseillé de rester en 32 bits même sur les machines à 64 bits.
Comment ça, que faisons nous ? Si tout marche comme vous le souhaitez dans le dernier PlanSauvFerm.xlsm, mettez en service ses fonctionnalités dans votre classeur. Il vous faut y glisser/déplacer les MRythmeur, MSauvFerm, l'UFmDécompte et le module de classe Rythmeur et dans Thisworkbook copier coller les procédures manquantes, et pour celles qui existent déjà insérer les instructions de planification à leurs débuts par exemple.
 

Discussions similaires

Réponses
12
Affichages
295

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 869
dernier inscrit
radyreth