Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Actualiser tout (ne fonctionne pas) et message d’alerte à l’ouverture

Sagrige65

XLDnaute Nouveau
Bonjour,

D’abord merci de m’accepter dans ce groupe.

J’ai le message suivant à l’ouverture de mon fichier :

* Cette commande requiert au moins deux lignes de données sources. Vous ne pouvez pas l’utiliser sur une seule ligne de données. Essayer la méthode suivante :
- Si vous utilisez un filtre avancé, sélectionnez une plage de cellules qui contient au moins deux lignes de données. Puis cliquez à nouveau sur le comme Filtre élaboré.
- Si vous créez un rapport de tableau croisé dynamique ou de graphique, tapez une référence de cellule ou sélectionnez une plage de cellule contenant au moins deux lignes de données.*

Même si cela n’avait rien à voir, j’ai supprimé la fonction qui s’exécutait à l’ouverture du fichier (ouverture d’un onglet de présentation générale) mais cela n’a pas réglé le problème.


Par la suite, j’ai remarqué que la commande Actualiser tout me donnait également le même message.
J’ai vérifié les propriétés de mes TCD et j’en ai trouvé un qui avait la fonction Actualiser les données lors de l’ouverture du fichier était cochée alors je l’ai décoché en me disant qu’au moins je serais débarrassée de ce message lors de l’ouverture mais non, le message apparait quand même!!

Je précise que je n’ai pas de lien vers un fichier externe (j’ai vérifié chacun des onglets) et que la commande Actualiser fonctionne pour chacun des TCD.

Est-ce que quelqu’un aurait une piste de solution?

Merci d’avance de votre aide!
 
Solution
re

ce code t'indiquera le TCD incriminé
VB:
Sub Trouver_Tcd()
Application.ScreenUpdating = False
Dim TCD_Ref As PivotTable
Dim Feuille_en_Cours As Worksheet
On Error GoTo Gere_Erreurs
For Each Feuille_en_Cours In Worksheets
    If Feuille_en_Cours.PivotTables.Count > 0 Then
        For Each TCD_Ref In Feuille_en_Cours.PivotTables
            TCD_Ref.RefreshTable
        Next TCD_Ref
    End If
Next Feuille_en_Cours
Application.ScreenUpdating = True
MsgBox "Pas d'erreur détectée.", vbOKOnly + vbInformation
Exit Sub
Gere_Erreurs:
MsgBox "Feuille : " & Feuille_en_Cours.Name & Chr(10) & "TCD : " & TCD_Ref.Name, vbOKOnly + vbCritical
Application.ScreenUpdating = True
End Sub

Phil69970

XLDnaute Barbatruc
Bonjour @Sagrige65 ,@eastwick , @Yeahou

Je viens de regarder vite fait :

1)36 ou 37 modules est ce bien raisonnable !
Perso dans un gros fichier je regroupe les sub de chaque module en fonction de ce qu'il font
Exemple
1 module qui gère les messages
1 module qui gère les actions (transfert/déplacement...)
1 module qui gère les divers....

2)Ton Sub Workbook_Open() ne veut pas dire grand chose


Zoom l'onglet "Menu" à 89%
Remet le zoom à 100%
Sélectionne la cellule A2
Et pour finir scroll rien du tout

En résumé fait du ménage dans tes modules regroupent les en 2 ou 3 modules
Revoit ton Sub Workbook_Open()....
Sert toi de la touche F8 pour voir pas à pas ton code et sa progression....

Et après cela sera plus clair pour toi...

@Phil69970
 
re

ce code t'indiquera le TCD incriminé
VB:
Sub Trouver_Tcd()
Application.ScreenUpdating = False
Dim TCD_Ref As PivotTable
Dim Feuille_en_Cours As Worksheet
On Error GoTo Gere_Erreurs
For Each Feuille_en_Cours In Worksheets
    If Feuille_en_Cours.PivotTables.Count > 0 Then
        For Each TCD_Ref In Feuille_en_Cours.PivotTables
            TCD_Ref.RefreshTable
        Next TCD_Ref
    End If
Next Feuille_en_Cours
Application.ScreenUpdating = True
MsgBox "Pas d'erreur détectée.", vbOKOnly + vbInformation
Exit Sub
Gere_Erreurs:
MsgBox "Feuille : " & Feuille_en_Cours.Name & Chr(10) & "TCD : " & TCD_Ref.Name, vbOKOnly + vbCritical
Application.ScreenUpdating = True
End Sub
 
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…