Petit astucien ![]() |
une question concertant les tableurs Excel et LibreOfficeCalc, voir les exemples joints pour obtenir le résultat d'un détail de calcul, colonne D, je suis obligé de faire manuellement un copier/coller de cette saisie dans la formule 'somme' ou 'arrondi' dela colonne F j'ai essayé de procéder à l'envers cad taper mon détail dans la formule colone F puis de l'afficher en D avec =formule () > voir ligne25 moyennement satisfaisant et obligeant à travailler la saisie dans la 'petite' fenêtre de la barre de formule alors que l'on peut avoir un affichage de bonne taille sur la feuille proprement dit. Question quelqu'un a-t-il une idée pour reporter le contenu du détail saisi en colonne B dans une formule situé dans une autre colonne comme F ou J à vous lire, cordialement Jicé matériel utilisé au bureau : TERRA PC fabrcant Worthmann AG / Intel Core I3 à 3.20 Ghz / RAM 4 G0 / Win 7 32b / double affichage 1920x1080 moniteurs HANNS.G MS Office Starter
| |||||||
Publicité | ||||||||
| ||||||||
![]() ![]() | Bonjour, Je crois que ce sujet devrait t'intéresser : https://forum.pcastuces.com/formule_resultat-f23s28626.htm Bonne journée. | |||||||
Petit astucien ![]() |
J'avais vu ce post après avoir validé le mien mais étant nul question macro Je regarderai quand j'aurai bouclé tout le dossier (11 feuilles de calculs de 2/3 pages) et et que j'aurai un peu plus de 'temps libre' au boulot. Je te tiens au courant et le cas échéant, j'essayerai de crier au secours Merci et passe un bon Dimanche @++ Jicé | |||||||
Petit astucien | Je viens de voir ton message, SmichelS, c'est moi !!! Comme tu pourras le constater, j'ai abandonné et je reviens à mon ancienne méthode. Le système proposé ne fonctionne pas si on modifie la note de calcul, le résultat ne change pas. | |||||||
![]() ![]() | SmichelS a écrit : En effet, il fonctionne si on lance à nouveau la macro, la cellule contenant la note étant sélectionnée, ainsi qu'annoncé. Tu n'a pas réitéré une demande de mise à jour automatique en cas de modification, sinon tu aurais eu une proposition de macro évènementielle qui l'aurait fait. Il était souhaitable que tu maîtrises préalablement l'utilisation d'une macro ordinaire... | |||||||
![]() ![]() | Bonjour Eole25, Tant que j'y pense encore et avant que ton sujet s'enfouisse dans le passé, un petit modèle que tu peux adapter à ton cas : http://cjoint.com/?AFhmkuRaDKA Il convient que tu nommes la plage source (là où tu saisis ton texte) et que tu nommes les décalages en ligne et colonne de la plage cible (là où tu veux obtenir le résultat de ton texte transformé en formule) exprimés par des nombres entiers (en t'assurant que la plage source ainsi décalée demeure bien sur la feuille). Tu nommes également la plage cible au moyen d'une formule bâtie sur la plage source décalée, soit: =DECALER(plS;dl;dc). Les noms choisis ici (plS, dl, dc, de même que plC pour la plage cible) peuvent être modifiés. Si c'est le cas, il doivent l'être aussi dans la formule de définition de la plage cible et dans la macro qui automatise la tranformation des saisies en formules. Les noms se définissent dans l'onglet Formules, Définir un nom... (Excel 2007 et ultérieur) ou dans le menu Insertion > Nom > Définir (versions antérieures). Cette opération préalable réalisée, la macro fera le reste. Elle est située dans le module de la feuille: pour l'afficher, clic droit sur l'onglet de feuille, puis Visualiser le code. Elle peut être recopiée et collée telle quelle (sous réserve des noms utilisés comme indiqué ci-dessus) dans le module de la feuille à laquelle on veut que la procédure s'applique. Lors d'une saisie dans la plage source, la macro produira le résultat de la transformation de cette saisie en formule dans la cellule correspondante de la plage cible (évidemment si la saisie ne peut être transformée en formule valide, le résultat en sera une valeur d'erreur : à l'utilisateur de réagir pour rectifier). Toute modification dans la plage source sera répercutée dans la plage cible. Egalement toute modification intempestive de la plage cible sera annulée si elle ne résulte pas d'une modification de la plage source. Lorsqu'on hésite encore par manque d'habitude à manipuler et utiliser des macros, se reporter à la recette de Galopin : https://forum.pcastuces.com/recette_de_cuisine__excel_vba-f23s5963.htm Bonne continuation à toi. | |||||||
Petit astucien ![]() |
Je viens de lire ton post, j'ai honte A vrai dire, entre les calculs de métrés, les textes descriptifs qu'il faut remettre à jour conjointement en fonction des oublis qui apparaisent et les plans qui doivent suivrent..... je n'ai pas eu le temps matériel me repencher sur le problème... (et surtout pas à la maison En principe, tout le dossier doit-être bouclé vendredi matin pour mise en consultation, ce qui en théorie devrait me dégager du temps la semaine prochaine. Je garde donc les envois sous le coude jusqu'à lundi. Je te tiendrai au courant des résultats Merci encore pour tes conseils Cordialement
@++ Jicé
| |||||||
Petit astucien | Bonjour, en mettant un signe + devant les formules de calcul (colonne F), on obtient directement le résultat. Question : comment automatiser l'insertion du signe + afin de transformer la chaîne de caractères en formule mathématique ? A+ pépé
| |||||||
Petit astucien | Je pense que nous avons la même profession sauf que je suis retraité. Je te donne ci-après ma solution pour établir un métré (calculs et éventuellement du texte) Dans un nouveau classeur Excel: On suppose que les notes de calcul seront encodées dans la colonne C et les résultats en colonne E. La Feuil1 étant active: Sélectionner toute la colonne C (ou bien la zone nécessaire, à voir à l'usage) Cliquer sur format cellule et sélectionner Texte. Activer la Feuil2 (Ctrl clic gauche); Contrôler que la Feuil1 est toujours principale (clic gauche dessus) Encoder la note de calcul précédée de = en C3 (par exemple) Sélectionner la cellule E3 tapez =Feuil2!C3 le résultat doit apparaitre. Tirer la cellule E3 vers le bas (pour la copier), les Zéros doivent apparaître, celà indique que les cellules sont prêtent à recevoir les notes de calcul en C. Pour imprimer, désactiver les Zéros, désactiver la Feuil2. Ne pas oublier de réactiver la Feuil2 avec Feuil1 principale lors d'une reprise de l'encodage, et tirer (copier) sur la dernière cellule de la collone E3 si nécessaire. CONSEILS: la première cellule E3 =Feuil2!C3 peut devenir =arrondi(Feuil2!C3;2) qui donne l'arrondi de la note de calcul à 2 décimales, à modifier si besoin (pour les m3, Tonnes, Pièces .....) Personnellement je renomme les Feuil en Métrés et Calcul pour une meilleure lisibilité lors d'une reprise du travail. Il est évident que n'importe quelle feuil peut être utilisée, il suffit d'adapter la fonction en E. J'espere avoir été clair. Si tu souhaites, tu peux me donner par ce forum (je ne vois pas d'autre solution) un numéro de teléphone où je peux te joindre (en Belgique). Je possède une routine plus facile et plus élégante, mais elle est protégée. Bon amusement SmichelS. Modifié par SmichelS le 10/06/2011 11:17 | |||||||
Petit astucien ![]() |
> SmichelS Merci pour les conseils, je vais essayer dès ce week-end, il faut juste que j'installe LibreOffice sur mon poste perso (en XP), car mes fichiers sont en format .ods et .odt et non en .xls ou .doc Motif : le poste que j'ai au boulôt tourne en Windows Seven avec 'Office Starter' belle Sitot la fin du téléchargement, j'installe et j'essaye ton système > pépé35530 j'avais pas bien pigé ton explication mais je pense qu'elle va dans le même sens que celle de SmichelS
Quelque soit le résultat, je vous tiens au courant de l'avancement du projet Merci les amis de votre aide @++ Jicé
| |||||||
Petit astucien | bonsoir, sur ton fichier j'avais fait la manip suivante : faire un copier de tes formules de calcul, puis faire un collage spécial Formules dans la colonne devant faire apparaître le résultat final. Ensuite mettre le signe + devant chaque formule de calcul afin de faire apparaître le résultat final. Seul problème, je n'ai pas trouvé de solution pour automatiser l'insertion du + ou la conversion de la chaîne de caractères en formule de calcul excel. A+ pépé | |||||||
![]() ![]() | pépé35530 a écrit : Tu ne peux faire ça qu'en VBA. Ou bien avec la méthode manuelle de saisie 3D exposée par SmichelS (mais là rien d'automatique). NB: les macros VBA ne fonctionneront pas sous Open Office (le système macro est différent). | |||||||
Petit astucien | Bonjour à tous, Réponse à Ferrand: tout à fait d'accord, mon système n'est pas automatique, c'est pour ça que j'ai demandé une routine en VBA (avec function et recalcul automatique), ma demande est toujours d'actualité (elle sevira aussi à Eole25) Ma solution peut être mise en oeuvre par n'importe qui. Il doit même être possible de créer une macro pour réaliser la préparation de départ, je vais essayer. Salutations à tous. Modifié par SmichelS le 11/06/2011 10:06 | |||||||
![]() ![]() | SmichelS a écrit : Ton système est ingénieux. Il permet avec une préparation (mais il y en a toujours une dans tout système) et une formule d'atteindre l'objectif en une seule frappe. Le seul point faible n'est pas au niveau de la préparation ou de la saisie initiale, c'est lorsqu'on intervient pour une retouche mineure : dans la mesure où il faut veiller à impacter deux feuilles, le risque d'inattention à ce que les deux feuilles soient effectivement sélectionnées avant d'opérer une retouche est élevé. Sans cet inconvénient potentiel, cela vaut largement une macro. Par contre l'automatiser ne présente qu'un intérêt relatif dans la mesure où il fait intervenir 3 cellules et une formule dans chaque action, alors qu'avec une macro automatique l'intervention n'a besoin que d'opérer sur 2 cellules et sans formule préalable. De procédure automatique, j'en ai fournie une le 7, adaptable à toute opération sur une même feuille par la définition préalable des plages et de leur décalage. L'opérateur n'a que sa formule-texte (sans signe =) à taper dans la plage source définie et le résultat apparaîtra dans la plage cible également définie, les modifications ultérieures seront répercutées et l'effacement éventuel d'un résultat empêché. Par contre elle ne sera pas utilisable par Eole25 s'il utilise Open Office, lequel exclut VBA, et également avec l'Office Basic 2010, allégé notamment de VBA. | |||||||
Petit astucien | Tout à fait d'accord Ferrand, mais il faut relancer la macro à chaque modification, (le risque d'oubli n'est pas négligeable, on a autre chose en tête) ce qui est souvent le cas en création de métrés. Je ne connaît pratiquement rien en visual basic. A bientôt. | |||||||
![]() ![]() | SmichelS a écrit : Du tout, celle-ci est entièrement automatique, lancée par lévènement Change de la feuille. C'est bien le sens de automatique : exécutée sans intervention de l'utilisateur, elle réagit automatiquement à sa saisie (qu'il s'agisse de saisie initiale ou de modification). | |||||||
Petit astucien ![]() |
J'ai fait plusieurs essais, sans grands résultats probants aussi bien sous Excel 2003 que sous LibreO Je suis parti dans une autre direction c.a.d une colonne supplémentaire où je saisis ma ligne de calcul sous forme "= 3+2-6" , elle se calcule automatiquement et je la reprend dans la partie imprimable (colonne D) avec =formule (Kxx) (=afficherformule ou =formulecellule selon la version XL) le seul problème qui me reste est de formater le résultat en fonction des décimales 0 pour U, 2 pour m2 et 3 pour m3 ou Kg. La formule =ARRONDI(K25*E25;SI(F25="u";0;SI(F25="m3";3;2))) fonctionne pour le calcul mais je cherche un truc pour formater automatiquement l'affichage des décimales de la cellule en fonction de l'unité choisie. La solution actuelle est de la faire manuellement avec clic droit>Format>Cellule mais je cherche un truc plus automatique Si vous avez une idée je suis preneur Cordialement @++ Jicé edit 12h00 correction orthographe Modifié par Eole25 le 21/06/2011 12:01 | |||||||
Petit astucien | Bonjour, Une autre solution sans VBA en utilisant la macro fonction d'excel 4 : EVALUER Cette fonction n'est utilisable que dans les noms définis. http://cjoint.com/?AFvpXQsv5pS Cordialement | |||||||
![]() | bonjour, Je n'étais pas intervenu dans cette discussion car LibreOffice n'est pas ma tasse de thé mais j'avais résolu le problème de SMichel par cette fonction personnalisé : Function EVAL(z As Range) Je n'ai pas trop épluché tout ton fil donc je ne sais pas si ça résoud aussi ton problème, mébon je pense que tu peux tester cette solution... La démo avec les données de SMichelS | |||||||
Petit astucien | Bonjour Eole25 Conseils: 1) Sur le message fourni par Galopin 01: Click sur démo, ça en vaut la peine 2) Sur le message de Ferrand du 07/06: Click sur le lien, voir la dernière fonction écrite par Galopin (fin du site, 2 èmè page) Lors du metré, il suffit de compléter la formule dans la barre Fx de la commande ARRONDI. Salut | |||||||
Petit astucien ![]() |
je viens d'essayer les fichiers de ferrand et galopin, mais je bloque sur les macro avec les 2 tableurs : - avec Excel starter que j'ai sur mon poste en Mairie, les macro et pas mal de fonctions sont désactivées d'origine... - avec LibreOffice, (installé avec la bénédiction et les encouragements du responsable informatique) j'ai également un message d'erreur concernant les macros Hier soir, sur mon poste perso en Office 2003, j'ai le même genre de problème également sur les macros Bon c'est pas génant car de toute façon, je préfère bosser avec Libreoffice d'autant que mes postes perso sont déjà tous sous Linux avec OpenOffice, sauf mon poste CAO et un vieux 486 qui rends encore de super services Le seul petit point qui me reste à faire manuellement est le formatage des cellules de résultats en fonction du nombre de décimales liées à l'unité de mesure ; mais vu l'état satisfaisant du résultat obtenu, et le temps que je gagne déjà, la suite des recherches attendra des périodes plus calmes Je joints un Zip de l'avancement du projet, Cordialement @++ Jicé
| |||||||
Petit astucien | Bonjour Eole25, Je ne suis aussi qu'un amateur; J'espère pour toi que les spécialistes (Ferrand et/ou Galopin pourront t'aider). Salutations | |||||||
![]() | bonjour, Si tu ne peux pas utiliser de macros il te reste la suggstion de jpr73 : La démo adapté à ton tableau. | |||||||
Petit astucien ![]() |
Merci galopin pour ta démo Je peux voir la structure de la formule ce qui est déjà une bonne chose, mais si je la recopie sur d'autre lignes > j'obtiens une erreur : pompafric oblige ExcelStarter refuse les macros et certaines formules voir les captures d'écran. Je vais voir comment je peux adapter cela sous Libreoffice, c'est certainement possible en cherchant un peu.
affichage 'mode protégé' aucune saisie possible Si je déverrouille, la copie de formule génère une erreur J'ai la même erreur avec le fichier de jpr74. Je vais chercher la transposition sous LibreOffice. Merci encore @++ | |||||||
Petit astucien | Bonjour, Le fichier demo de galopin01 ne fonctionne pas car le séparateur de décimale dans les formules est le point au lieu de la virgule. Cordialement | |||||||
![]() | Bonjour, Oui, mais c'est le cas uniquement parce que j'utilise personnellement des points décimaux. Quand je télécharge un fichier comme c'était le cas dans le dernier lien d'Eole25 rien ne me dit quel séparateur il utilise. Donc s'il utilise la même formule avec ses virgules habituelles, il n'aura aucun problème. Et concernant ma démo il faut effectivement qu'il remplace les points par des virgules dans la colonne D pour que ça fonctionne. A+ | |||||||
Publicité | ||||||||
| ||||||||
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||
|