Plantage Excel

Bonjour à tous,

Après un mois de labeur sur un fichier excel, celui-ci a décidé de planter alors qu'il venait d'être terminé.

C'est un fichier qui va récupérer des tables dans d'autres fichiers excel pour faire de la consolidation.

Apparemment il y avait un soucis au niveau des connexions. Je les ais donc supprimé pour les remettre, sait-on jamais.

Le soucis est que maintenant il m'est totalement impossible de refaire une connexion. Dès que je sélectionne le fichier avec lequel faire la connexion, j'ai droit à "Excel à cesser de fonctionner, fermer le programme".

Et ce, quelques soit le fichier, après redémarrage du pc inclus

Est-ce que quelqu'un aurait déjà rencontrer ce problème, ou mon Excel est-il juste un capricieux qui n'en fait qu'à sa tête et suis voué à abandonné le projet sur lequel je bosse depuis un mois ?

J'ai mis en fichier joint mes travaux. Dans le dossier "Excel" c'est le fichier que j'ai tenté de modifier pour palier au soucis et dans ceux à la racine ce sont avant les modifications, pour que vous ayez une idée ce à quoi ressemblait le fichier tout beau.

Merci beaucoup par avance...

Je suis un peu désespéré de voir tout mon travail réduit à néant pour un soucis de logiciel impromptu...

43plan-de-charge.7z (923.86 Ko)

bonjour

où chercher ? quel fichier quelles cellules quel onglet ?

ne joins QUE ce qui est nécessaire. Merci.

mon avis : tu t'es lancé dans un truc trop grand. Envisage un SGBD (Access...)

et tu n'as pas sauvegardé au fur et à mesure ton travail de dév (souvenir de tes formations de développeur )

Les liaisons sont faites dans le fichier Master_Project, qui va récupérer les tableaux T_PC_xxx dans les 3 fichiers restant. Le soucis est assez global sachant que cela impact toutes les feuilles.

Je ne pense pas que ce soit trop grand parce que jusqu'à hier tout fonctionné à merveille. J'ai déplacé tout mes fichiers dans un autre dossier et à partir de là, Excel a décidé de lui même que la première colonne "id" des tableaux T_PC_xxx serait désormais en dernier (pourquoi ? absolument aucune idée, avant il ne modifiait rien), de ce fait toutes mes colonnes se retrouve décalé sur la droite, ce qui foire donc toutes mes formules.

Si mon travail est sauvegardé, j'ai encore l'original, mais désormais que Excel décide de faire des caprices avec ce switch de colonne et bien il ne sert plus à rien. Alors qu'avant tout était niquel. C'est vraiment incompréhensible... C'est tellement frustrant

re

jeu de piste

c'est quoi " la première colonne "id" des tableaux T_PC_xxx " ? elle n'est ni en premier ni en dernier, mais en col D

mon conseil : dans le fichier de consolidation (exploitation), crée des onglets MIR qui sont les miroirs des tableaux de données (des onglets ne contenant que des liaisons vers les données). Ensuite les onglets de consolidations vont attaquer ces MIR et non les fichiers de données.

Dans le fichier de consolidation "Master_Project_CdS" , dans l'onglet Sephora_UPGRADE/RTLE et Picard, la colonne "id" est en colonne B, première colonne de mon tableau. Lorsque je fais la mise à jour vie l'onglet "Données >> Actualiser tout" pour faire la récupération des information. C'est à ce moment là que Excel passe cette colonne "id" de la colonne B à la colonne BV, décalant toutes les données d'une colonne vers la droite.

N'est-ce pas déjà ce que je fais ? Dans le fichier Master_Project_CdS, les onglets de projet sont des liaisons ne contenant que le tableau de données présent dans le fichier source. Je ne fais aucune manipulation dessus. Puis j'utilise ces données là pour les exploiter dans mes autres onglets (Charge, Disponibilité etc.)

re

tente ceci

fais d'abord une sauvegarde !

ouvre SANS actualiser

crée un nouvel onglet MIR

en A1 de MIR tape = et va dans ton fichier contenant les données et clique dans A1. Valide.

dans MIR étends cette miniformule vers la droite et vers le bas, de manière à obtenir un miroir des données.

dans l'onglet contenant les liaisons qui posent problème, efface tout !

Selon tes besoins, dans cet onglet désormais vide, recrée des = qui vont lire le contenu de MIR (et non le contenu du fichier des données)

c'est fini.

remarque : MIR ne contient QUE des liaisons simples. Tu le mettras à jour selon tes besoins.

Mais en faisant ça, je perds la liaison et le principe de mise à jour de mes informations ?

Car là il n'y a plus de liaison vers les 3 fichiers de donnée Sephora_Upgrade/RTLE et Picard ?

crée autant d'onglets MIR1, MIR2... que tu as de fichiers de données à "rapatrier" dans ton fichier de synthèse.

ces MIR sont les miroirs des données, ils contiennent des liaisons (en fait tu refabriques des liaisons, mais "propres" )

J'avais mal lu, mais j'ai mieux saisi ce que vous vouliez me dire.

J'ai fait la formule que vous m'avez donné, effectivement ça repique bien les informations ! Le seul soucis est que ce n'est pas "dynamique" dans le sens où si j'ajoute une ligne à mon fichier de charge, elle ne s'ajoutera pas automatiquement dans le fichier master_project, il faut étendre, le tableau et la formule. Ce qui je trouve n'est pas très pratique.

N'est-il pas possible, plutôt que de faire un = pointant sur uniquement une cellule et l'étendre, faire un = et pointer vers tout le tableau via son nom pour qu'il récupère le tableau en entier et donc prenne en compte les ajouts de ligne?

J'ai essayer avec un "=[Picard.xlsx]PC_Picard!T_PC_PICARD[#Tout]" mais idem cela récupère l’information de la cellule dans le fichier de charge mais ne récupère le tableau dans son intégrité

Merci beaucoup de ton aide !

re

faire ultra-simple : il suffit de créer des MIR avec 1000 lignes ou plus pour anticiper les ajouts de lignes dans les fichiers de départ

certes, les MIR contiendront des 0, mais c'est facile à filtrer dans les onglets de TCD ou autres calculs de synthèse.

Vraiment aucun autre moyen ? Je trouve que ce genre de solution ne fais vraiment pas "propre"

aucune importance car on ne regarde jamais les onglets MIR

c'est simple, automatique et clair. Facile à modifier et à comprendre. Hyper fiable.

je n'ai pas trop bien maîtrisé le menu Données, "récupérer à partir d'un tableau". A tester aussi, mais sans garantie.

Alors j'ai fait le tableau avec 50 lignes dont les quatantes vide affichent "#VALEUR!" pour que ce soit plus jolies, j'ai testé plusieurs choses.

La première ça a été de de filtrer la colonne id en ne prenant pas en compte "#VALEUR!", mais si on ajout une ligne au tableau il va en désélectionner une autre pour que celui-ci reste à 10 lignes à afficher. Pas sûr que ce soit clair, mais en bref ça ne marche pas

Ensuite j'ai tenté de faire =SIERREUR(=[Picard.xlsx]PC_Picard!T_PC_PICARD[#Tout];""), je voulais que ça n'affiche rien, mais cela affiche un vide mais la ligne existe.

Puis j'ai créé un second onglet pour aller chercher les valeurs du tableau MIR, en faisant =SI(Tableau_T_PC_PICARD[@[id collab]]<>"";Tableau_T_PC_PICARD[@[id collab]]), idem il récupère bien les valeurs si la ligne n'est pas vide, mais si une nouvelle ligne est insérer, le tableau de récupération ne s'agrandi pas automatiquement pour prendre en compte ces nouvelles lignes.

Et je n'ai pas trouvé de "récupérer à partir d'un tableau" dans la section données :/

re

un onglet MIR contient plein de 0

c'est normal et souhaitable pour anticiper les années à venir avec des données qui vont grandir, et sans conséquence. Un peu comme une fiche papier qui dans les cases d'une zone quadrillée, après photocopie contiendrait des 0 au lieu de vides. C'est lisible et utilisable.

avec cet avantage supplémentaire qu'on ne regarde JAMAIS un onglet MIR (sauf toi le développeur)

à essayer comme solution alternative : menu Données, zone Récupérer et transformer, choix A partir d'un tableau

(c'est à gauche dans le menu Données)

Bon ben je vais faire comme ça alors. Dans mon cas les gens pourront allé regarder dans le sens où ça permet de faire un récap en un seul fichier des plans de charges de tous les projets, donc beaucoup plus pratique pour voir qui est missionné où. J'avais tenté de faire une requête pour ça, mais je n'ai pas réussi. Il faudrait que je change mes tableaux pour que cela puisse se faire en TCD plutôt que via un code VBA

Pour le "récupérer à partir d'un tableau" je n'ai pas cette zone, dans Données j'ai :

  • Données externes
  • Connexions
  • Trier et filtrer
  • Outils de données
  • Plan

Peut-être y a t'il quelque chose à modifier pour le faire apparaître un peu comme la zone "Développeur" ? Je suis sous Excel 2013, si jamais ça peut venir de là

Rechercher des sujets similaires à "plantage"