Excel 2013 - Impossible de quitter le mode création
Bonjour,
Je vous envoi ce post car je suis novice en vba et je suis bloqué depuis quelques jours. Je vais tacher d'être clair dans mon explication.
Je souhaite utiliser une formule qui me permette de faire la somme des valeurs en fonction de la couleur de la cellule. Il existe une fonction "somme_si_couleur" dans le pack, qui induit la nécessité d'utiliser également la fonction "no_couleur". La formule fonctionne correctement mais comme je dois la dupliquer sur un grand nombre de cellule et répéter dans plusieurs feuilles de calcul, le fichier devient extrêmement lent à tel point que lorsque j'indique une nouvelle valeur dans une cellule l'ordi calcule pendant plusieurs HEURES avant d'afficher la valeur.
Ce problème de lenteur apparait sur tous les ordis de l'agence , qui sont pourtant très récent.
Après avoir parcouru bon nombre de forum j'ai décidé de ne plus utiliser la fonction "somme_si_couleur", beaucoup trop lente, et de créer une macro propre à mon fichier (xlsx).
Pour cela j'ai créé un module dans mon fichier , collé une formule adéquat (trouvée sur un forum), enregistré mon fichier en format "xlsm". Je n'ai pas eu d'autre choix que de changer l'attribut de mon fichier mais je vais faire avec ...
J'ai testé cette fonction sur plusieurs ordi, elle fonctionne correctement, mais seulement sur quelques ordis, et pas sur le mien en l'occurrence.
Sur mon ordi , le fichier ne semble pas connaitre la formule indiquée dans les cellules ( #NOM? ). Je vais donc dans VBA et m'aperçois que je suis en mode création. En cliquant sur sortir du mode création une fenêtre m'indique "les macros de ce projet sont désactivées. Référez-vous.....".
J'ai cliqué sur "compiler VBA projet" , rien n'y fait. La formule ne semble pas présenter de problème pourtant je ne peux toujours pas sortir du mode création.
Voici les paramètres de mon ordi :
- excel 2013
- dans complément le "pack de fonction XLP" est actif (si jamais il devait être utilisé)
- le fichier est signé numériquement
- dans "paramètres de macros" j'ai "désactiver toutes les macros à l'exception des macros signées numériquement" et coché " accès approuvé au modele d'objet du projet VBA"
- dans "mode protégé" tout est coché
- dans contenu externe j'ai 2 fois "interroger..."
Vous trouverez ci-dessous une capture d'écran de la page VBA
pour info j'ai remplacé le nom de la fonction "somme_si_couleur" par "somme_par_couleur" car il y a avait des conflits de formules sur les ordis équipés du pack de fonction.
Question accessoire : est-il possible d'insérer une macro dans un fichier et de conserver ce fichier en xlsx ?
Merci d'avance pour votre aide.
Bonjour,
Je vais peut-être dire une bêtise mais toute fonction personnalisée qui boucle sur des cellules produit un ralentissement du fichier car le calcul est plus long que celui des fonctions natives d'excel. C'est en tout cas ce que j'ai constaté de mon côté et je serais ravi de connaître le solution pour pallier ce problème...
En tout cas, vous souhaitez faire la somme des cellules en fonction d'une couleur. Or, j'imagine que vous n'obtenez par ces couleurs par hasard et qu'elles sont le fruit d'une MFC selon des critères précis. Alors pourquoi ne pas simplement faire un somme.si ou somme.si.ens ou sommeprod en fonction des ces critères ? Ca irait beaucoup plus vite et réglerait vos problèmes.
Si vous savez quels sont les critères, nombreux sont ceux qui pourraient vous apporter une solution par simple formule.
Sinon, il est possible d'avoir des macros sur un fichier xlsx mais celles-ci restent inactives et je crois que cela génère un message à chaque sauvegarde.
Cdlt,
Bonjour
Merci pour votre réponse. Je pratique également les fonctions somme.si , somme.si.ens et somme.prod mais dans mon cas elles sont inutiles.
Ma difficulté est que je dois indiquer dans la même cellule à la fois une valeur et un signe distinctif. J'ai donc imaginé mettre une valeur et une couleur dans la cellule , et utiliser une fonction qui puisse utiliser ces 2 paramètres.
Une autre solution serait d'indiquer dans la cellule une valeur et un texte (ex. 3-ROUGE) , il faudra ensuite associer les fonctions "somme.si" + "stxt" ou "droite" ou "gauche" ... mais ça deviendrai vraiment une usine à gaz :(
Bonjour,
Comme je vous ai dit :
Si vous savez quels sont les critères, nombreux sont ceux qui pourraient vous apporter une solution par simple formule.
Il faudrait que vous postiez un fichier exemple avec un cas réel bien expliqué car je doute qu'il n'y ait pas d'alternative "simple" au problème. Parfois, c'est tout simplement le fichier qui a été pensé d'une certaine manière, qui, du fait de contraintes (temps d'utilisation trop long en l'occurrence), doit être à revoir.
NB : les fonctions somme.si, ..., nb.si.ens sont "likées", c'est à dire qu'il est possible de faire une somme sur les correspondances partielles (pour les chaines de caractères) :
=SOMME.SI(A:A;"*z*";B:B)>>> somme les cellules B correspondant à une cellule en A contenant un "z". On évite donc le sommeprod(stxt).
Alors, pour l'instant, j'ai du mal à y voir très clair, mais selon moi, il faut imposer une autre présentation. Ainsi, ce devrait être beaucoup plus simple de récapituler les données saisies.
Merci pour votre proposition mais ce n'est pas possible car vous avez supprimé une des variables.
En abscisse j'ai la liste des dossier,
En ordonnée les semaines de travail,
Dans chaque cellule je dois indiquer le nombre de jour travaillé et une autre information que je caractérise par une couleur.
Par exemple la semaine S40 j'ai travaillé 2 jours sur la phase APD du dossier n°1827. Par conséquent je renseigne le chiffre 2 dans la case AE68 dont le fond est rouge.
Avec cette méthode j'associe 4 variables.
Par la suite je souhaite sommer pour chaque opération le nombre de jours travaillé pour chaque phase.
soit dossier n°1827 : 5 jours sur APD, 10 jours sur PRO, 10 jours sur DCE, ....
Voici une nouvelle proposition, toujours dans le même esprit, avec cette fois incorporation du n° dossier, du lieu, de l'affaire dans le tableau avec les phases en colonnes.
Point notable : Cela suggère un changement de la façon de renseigner les infos : on doit saisir une date, et raisonner en tenue journalière et non plus en récap hebdomadaire. Ce sont justement nos calculs qui nous permettent d'avoir des récapitulatifs selon les critères qui nous intéressent (les périodes éventuellement).
J'ai aussi rajouté un autre onglet avec un alternative. Il y a une colonne "Intervenant" et c'est à mon avis la meilleure solution.
Je n'y ai gardé que 2 colonnes à la fin : nombre de jours, phase concernée. Cela implique plus de lignes mais moins de colonnes, des formules plus simples, des possibilités de filtres et de tris selon moi plus intéressantes.
On aurait ainsi à saisir pour une ligne : David, 1/1/20, dossier, qté sur les phases, phases
Enfin, sinon, dans votre onglet Liste, il y a les sommes qui portent sur l'onglet test.
Cdlt,
Effectivement en dissociant le tableau par jour et non par semaine la tâche est plus simple mais parfois je peux travailler sur plusieurs dossier dans la même journée. Il faudrait dans ce cas que j'ajoute autant de ligne qu'il n'y a de tâche dans une journée. Trop compliqué et trop long pour mes collègues.
J'avais testé ceci sur ma version avec les jours en colonne, le tableau devenait trop grand, trop lourd. C'est pourquoi j'ai réduit à la semaine.
J'aimerai vraiment revenir à ma question initiale qui est de quitter le mode création de vba. Il y a probablement une fonction, un code ou je ne sais quoi qui bloque mon fichier.
Je suis actuellement chez moi et de chez moi tout fonctionne parfaitement , sur un excel 2007.
J'ai testé le fichier sur 4 PC. Il y en a 2 pour lesquels le fichier fonctionnent parfaitement, 1 qui ne fonctionne pas (bloqué en mode création) et 1 autre qui ne fonctionne pas mais qui n'est pas bloqué en mode création. C'est très curieux.
J'ai l'impression de ma macro n'apparait pas dans le fichier que j'avais posté. J'en poste un autre dans laquelle est apparait et elle fonctionne (sur ce PC).
Bonjour David,
Pour le mode création, je ne sais pas. J'aurais dans un premier essayé d'en sortir manuellement mais j'imagine que c'est ce que tu as déjà fait. Je dirais que c'est lié au pack XLP, qui a peut-être généré un blocage sur l'un des fichiers. Il faudrait le désactiver ou désactiver la référence (en fait, je n'ai pas le pack donc je ne sais pas vraiment comment ça marche).
Voici 2 liens :
https://forum.excel-pratique.com/excel/impossible-de-sortir-du-mode-creation-t101020.html
https://www.excel-pratique.com/fr/fonctions-complementaires/installation-macro-complementaire
Pour le reste, c'est toi qui vois mais je ne pense pas du tout que ce soit trop lourd. En une journée, on travaille sur 7 dossiers tout au plus. 7 lignes de saisie représentent 35 secondes...
Il s'agirait d'un tableau de saisie dont on peut reporter l'information utile ailleurs.
Mais je te comprends bien...
Cdlt,
Bonjour,
J'ai désactivé le pack de fonctions complémentaire et supprimé les sécurité (autorisé toutes les macros) et ça fonctionne enfin sur toutes les version (2007, 2013, 2015....).
Je ne comprend pas pourquoi le pack bloque les fichiers, c'est très curieux.