Problème avec RefreshAll
Résolu/Fermé
crouba33
Messages postés
9
Date d'inscription
mardi 1 décembre 2020
Statut
Membre
Dernière intervention
23 décembre 2020
-
22 déc. 2020 à 17:06
ptitpanda Messages postés 65 Date d'inscription dimanche 5 août 2012 Statut Membre Dernière intervention 8 avril 2023 - 23 déc. 2020 à 19:16
ptitpanda Messages postés 65 Date d'inscription dimanche 5 août 2012 Statut Membre Dernière intervention 8 avril 2023 - 23 déc. 2020 à 19:16
A voir également:
- Refreshall vba
- Excel compter cellule couleur sans vba - Guide
- Mkdir vba ✓ - Forum VB / VBA
- L'indice n'appartient pas à la sélection vba ✓ - Forum Programmation
- Autofill vba ✓ - Forum Excel
- Vba range avec variable ✓ - Forum VB / VBA
4 réponses
ptitpanda
Messages postés
65
Date d'inscription
dimanche 5 août 2012
Statut
Membre
Dernière intervention
8 avril 2023
8
23 déc. 2020 à 19:16
23 déc. 2020 à 19:16
Bonsoir,
Bha de rien car finalement rien ne t'a servi mais le principal c'est que tu sois arrivé à résoudre le pb :)
Bonnes fêtes.
A+
Bha de rien car finalement rien ne t'a servi mais le principal c'est que tu sois arrivé à résoudre le pb :)
Bonnes fêtes.
A+
ptitpanda
Messages postés
65
Date d'inscription
dimanche 5 août 2012
Statut
Membre
Dernière intervention
8 avril 2023
8
22 déc. 2020 à 23:40
22 déc. 2020 à 23:40
Bonsoir,
Je ne sais pas si j'ai tout compris mais quand tu dis:
C'est un message d'erreur?
si c'est le cas, utilises une gestion d'erreur ("ON ERROR GOTO gest_err") comme ça déjà tu n'aura plus la boite de dialogue et en bas de ta procédure, sous "gest_err:" tu peux, par exemple:
- afficher un userform non modal qui demande de patienter ou qui explique la lenteur
- et ensuite un petit "Resume next" qui te fait reprendre là tu en étais dans la procédure.
Puis - Mettre l'instruction "DoEvents" plutôt que WAIT ...juste derrière la commande de mise à jour qui aura pour effet d'attendre la fin de la mise à jour avant de continuer la macro
Suffit d'adapter un peu cela à ton besoin.
Bonne nuit
A bientôt
Je ne sais pas si j'ai tout compris mais quand tu dis:
si la publication n'est pas active (pour des raisons de données sensibles), je reçois une boîte de dialogue qui m'informe ne pas avoir trouvé les données correspondantes.
C'est un message d'erreur?
si c'est le cas, utilises une gestion d'erreur ("ON ERROR GOTO gest_err") comme ça déjà tu n'aura plus la boite de dialogue et en bas de ta procédure, sous "gest_err:" tu peux, par exemple:
- afficher un userform non modal qui demande de patienter ou qui explique la lenteur
- et ensuite un petit "Resume next" qui te fait reprendre là tu en étais dans la procédure.
Puis - Mettre l'instruction "DoEvents" plutôt que WAIT ...juste derrière la commande de mise à jour qui aura pour effet d'attendre la fin de la mise à jour avant de continuer la macro
Suffit d'adapter un peu cela à ton besoin.
Bonne nuit
A bientôt
crouba33
Messages postés
9
Date d'inscription
mardi 1 décembre 2020
Statut
Membre
Dernière intervention
23 décembre 2020
23 déc. 2020 à 15:29
23 déc. 2020 à 15:29
Bonjour et merci ptipanda pour cette réponse
Je te passe toute les explications qui prendraient trop de lignes. En gros j'ai cette procédure
Sub WorkBook_Open()
me.refreshAll
UsF_Menu.Show
End Sub
qui se lance à l'ouverture de mon fichier.
et cette boîte de dialogue après un temps plus ou moins variable selon l'état de ma connexion internet.

qui s'ouvre si je n'ai pas préalablement "publier sur le web" (ouvert le lien entre ma Google Sheet et le reste du monde).
Je voudrai que cette boîte n'apparaisse pas afin de ne pas être obligé de valider par OK et que la procédure puisse se terminer.
J'ai essayé de positionner des On Error et des DoEvents de multiple façons sans résultat. Cette fenêtre apparaît systématiquement. Est ce d'ailleurs une vraie erreur ? Il me semble que oui d'après les essais effectués avec la gestion d'erreur.
As tu une idée du code qui pourrait fonctionner ?
Merci en tout cas de ta première piste.
A te lire j'espère.
Claude
Je te passe toute les explications qui prendraient trop de lignes. En gros j'ai cette procédure
Sub WorkBook_Open()
me.refreshAll
UsF_Menu.Show
End Sub
qui se lance à l'ouverture de mon fichier.
et cette boîte de dialogue après un temps plus ou moins variable selon l'état de ma connexion internet.
qui s'ouvre si je n'ai pas préalablement "publier sur le web" (ouvert le lien entre ma Google Sheet et le reste du monde).
Je voudrai que cette boîte n'apparaisse pas afin de ne pas être obligé de valider par OK et que la procédure puisse se terminer.
J'ai essayé de positionner des On Error et des DoEvents de multiple façons sans résultat. Cette fenêtre apparaît systématiquement. Est ce d'ailleurs une vraie erreur ? Il me semble que oui d'après les essais effectués avec la gestion d'erreur.
As tu une idée du code qui pourrait fonctionner ?
Merci en tout cas de ta première piste.
A te lire j'espère.
Claude
crouba33
Messages postés
9
Date d'inscription
mardi 1 décembre 2020
Statut
Membre
Dernière intervention
23 décembre 2020
23 déc. 2020 à 17:17
23 déc. 2020 à 17:17
Ouch!!!!
J'ai trouvé. En fait l'erreur est lancée par la query qui établit le lien entre les deux fichiers.
Lors d'essais de débogage, j'avais généré une colonne supplémentaire à mon tableau local excel, colonne que je ne voyais pas sur mon écran. La query cherchait cette colonne dans le fichier en ligne qui bien sur n'y était pas. d'où le message erreur "Nous n'avons pas trouvé la colonne "Column1"....
J'ai supprimé la fautive et maintenant tout roule sans ON ERROR GOTO ni DOEVENTS.
Comme quoi s'obstiner n'est pas toujours inutile.
Merci encore pour l'aide
J'ai trouvé. En fait l'erreur est lancée par la query qui établit le lien entre les deux fichiers.
Lors d'essais de débogage, j'avais généré une colonne supplémentaire à mon tableau local excel, colonne que je ne voyais pas sur mon écran. La query cherchait cette colonne dans le fichier en ligne qui bien sur n'y était pas. d'où le message erreur "Nous n'avons pas trouvé la colonne "Column1"....
J'ai supprimé la fautive et maintenant tout roule sans ON ERROR GOTO ni DOEVENTS.
Comme quoi s'obstiner n'est pas toujours inutile.
Merci encore pour l'aide