Actualiser tout et erreur 1004 : différence entre les versions d'Excel ?

Bonjour à tous, et merci d'avance pour votre contribution. Je rame depuis quelques temps sur un problème pour lequel je ne trouve pas de solution, je vais toutefois essayer d'être simple et exhaustif dans l'illustration de mon problème.

1 - Sur une simple feuille Excel créée sous V2010, j'ai un tableau qui reprend des données situées sur le serveur de mon entreprise. Un clic sur le bouton "Actualiser tout" et mon tableau se met à jour. Trop top !

2 - Pour un confort d'utilisation, j'ai ensuite créé un userform avec un bouton. La ligne de code associée à ce dernier est on ne peut plus simple :

ActiveWorkBook.RefreshAll

3 - En théorie, cette ligne de code a la même action que mon clic sur le bouton Excel "Actualiser tout". En effet, ça marche du feu de dieu. A ce stade, j'indique à l'utilisateur que la mise à jour a fonctionné.

4 - En cas de problème d'actualisation des données (réseau souvent HS), j'ai une erreur d'exécution 1004 "La connexion au site SharePoint n'a pu être établie. Pour synchroniser votre liste, vous devez être en mesure de vous connecter au site SharePoint."

5 - Jusque là c'est normal, et je gère donc cette erreur 1004 en indiquant à l'utilisateur qu'il y a un problème de mise à jour.

Aucun problème me direz-vous. Non, effectivement, aucun problème sur cette version d'Excel (2010). En revanche, l'entreprise est passée sous une version d'Excel plus récente (2016). Et là, hélas, c'est là qu'est l'os !

En effet, reprenons, et considérons une panne de serveur (je débranche mon câble réseau).

  • Lorsque je clique sur "Actualiser tout", j'ai bien mon message d'erreur 1004. Cool !
  • Par contre, lorsque j'exécute ActiveWorkBook.RefreshAll, ho surprise pas d'erreur ! Pourtant c'est censé être la même chose !!!

Quelqu'un aurait une petite idée ? A noter que j'ai essayé à la maison sur un Excel 2019, le problème et identique. J'ai revérifié sur un Excel 2010, j'ai bien mon message d'erreur 1004 lorsque j'exécute ActiveWorkBook.RefreshAll.

Merci d'avance !

Gorgias

Personne pour m'aider ?

Bonjour,

N'ayant que 2010 je te propose un axe de recherche.

Avec 2013 est arrivé la gestion SDI des fenêtres au lieu de MDI auparavant. Ceci a amené pas mal de dysfonctionnements.

Classeur sensé être actif alors que vba reste sur un autre. Idem pour pour des feuilles si tu joues avec .Visible.

Entre autres avec l'utilisation de UserForm non modal (d'autres ont eu le soucis en modal...)

Change sa propriété pour tester. Et teste la maj dans 2016 sans l'UF pour confirmer éventuellement cette piste.

Si tu fais Workbook.Activate avec ScreenUpdating=False le classeur n'est pas activé.

Si ça ne donne rien, teste en mettant .Visible des Windows des autres classeurs à False.

Comme tu vois c'est vaste et varié, parfois sans aucun sens et oblige à pas mal de tâtonnement...

eric

Bonjour Eric, tout d'abord merci, je ne comprends pas tout ce que tu as écrit car mon niveau en VBA n'est pas très élevé. Je vais toutefois étudier ça de près...

Merci encore.

Patrice

Rechercher des sujets similaires à "actualiser tout erreur 1004 difference entre versions"