[Résolu] Inserer dans le titre le nom du fichier
Modérateur : Vilains modOOs
Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
-
- Fraîchement OOthentifié
- Messages : 5
- Inscription : 03 avr. 2010 22:56
[Résolu] Inserer dans le titre le nom du fichier
Bonjour, tout est dans le titre
je vous donne plus de détails
je génère mes factures avec le tableur et je répète dans une cellule le numéro de facture qui est aussi le nom du fichier.
pour générer une facture je me contente de prendre la précédente et de faire les modifs vu mon volume de facture mensuel cela ne me pose pas de problème cependant si le cellule contenant le numéro de facture pouvais se remplir avec le nom choisi au renommage cela me plairait bien.
any idea ???
je vous donne plus de détails
je génère mes factures avec le tableur et je répète dans une cellule le numéro de facture qui est aussi le nom du fichier.
pour générer une facture je me contente de prendre la précédente et de faire les modifs vu mon volume de facture mensuel cela ne me pose pas de problème cependant si le cellule contenant le numéro de facture pouvais se remplir avec le nom choisi au renommage cela me plairait bien.
any idea ???
Dernière modification par Oukcha le 05 juil. 2010 12:49, modifié 4 fois.
Raison : Ajout balise (coche présente)
Raison : Ajout balise (coche présente)
-
- MOOdérateur
- Messages : 340
- Inscription : 11 oct. 2009 15:50
Re: INSERER DANS UNE CELLULE LE NOM DU FICHIER
Bonjour et bienvenue sur le forum,
Le titre de votre question ne doit pas comporter de majuscules.
Il semble que vous n'ayez pas lu les règles de ce forum, nous vous invitons dès maintenant à y jeter un coup d'oeil.
http://user.services.openoffice.org/fr/ ... opic1.html
Merci de votre collaboration
Le titre de votre question ne doit pas comporter de majuscules.
Article de Wikipédia sur la Nétiquette a écrit :De plus, il vaut mieux éviter d'écrire un message uniquement en capitales ce qui est considéré comme agressif. Écrire en lettres capitales est en effet considéré comme équivalent à crier de façon orale.
- Nous vous remercions de corriger ce titre au plus vite afin que l'on puisse vous aider dans de bonnes conditions.
- Vous êtes également prié de clôturer votre précédent sujet s'ils est résolu.
http://user.services.openoffice.org/fr/ ... 67#p118867
Comment mettre [Résolu] et la coche ] - Corrigez aussi votre signature. Open Office 3 n'est pas assez précis car il y a actuellement 6 versions d'OOo 3.
Lien direct pour modifier votre signature
Il semble que vous n'ayez pas lu les règles de ce forum, nous vous invitons dès maintenant à y jeter un coup d'oeil.
http://user.services.openoffice.org/fr/ ... opic1.html
Merci de votre collaboration
La fonction Recherche sur le forum, c'est génial. Cela peut vous sauver la vie.
-
- Grand Maître de l'OOffice
- Messages : 11276
- Inscription : 02 mai 2006 08:42
Re: INSERER DANS UNE CELLULE LE NOM DU FICHIER
Bonjour
Nouveau sur ce forum il est normal que tu n'en maîtrises pas les habitudes...
Merci toutefois de suivre les indications de notre modérateur pour continuer de recevoir des réponses
Je te conseille la lecture de notre section "A lire avant tout" qui, comme son nom l'indique, présente nos règles de fonctionnement.
Sur le fond maintenant... On peut trouver le nom du classeur par un enchaînement de fonctions. Pour faciliter leur compréhension je décompose ici les étapes une par une (mais on pourrait tout regrouper dans une formule complexe).
Explications
Nota :
Nouveau sur ce forum il est normal que tu n'en maîtrises pas les habitudes...
Merci toutefois de suivre les indications de notre modérateur pour continuer de recevoir des réponses
Je te conseille la lecture de notre section "A lire avant tout" qui, comme son nom l'indique, présente nos règles de fonctionnement.
Sur le fond maintenant... On peut trouver le nom du classeur par un enchaînement de fonctions. Pour faciliter leur compréhension je décompose ici les étapes une par une (mais on pourrait tout regrouper dans une formule complexe).
Explications
Code : Tout sélectionner
=CELLULE("filename";A1) pour récupérer l'url complet du classeur, suivi du nom de la feuille courante
=NBCAR(A1) pour calculer le nombre de caractères trouvés
=SUBSTITUE(A1;"/";"") pour supprimer le /
=NBCAR(A3) pour calculer le nombre de caractères trouvés
=A2-A4
=SUBSTITUE(A1;"/";"pys2310pys";A5) pour remplacer dans la chaîne le dernier / par un texte improbable
=TROUVE("pys2310pys";A6) pour rechercher la position de ce texte improbable
=DROITE(A6;NBCAR(A6)-A7-9) pour ne garder que la portion de texte commençant à cette position
=TROUVE("'";A8) pour trouver la position de la quote ' dans ce texte
=GAUCHE(A8;A9-1)
=GAUCHE(A8;A9-5)
Nota :
- L'enregistrement d'un classeur sous un nouveau nom ne provoque pas le recalcul des formules. Il sera donc nécessaire, si tu souhaites visualiser immédiatement l'impact, de forcer le recalcul par Ctrl+Maj+F9
- Si cette question est résolue, merci de bien vouloir l'indiquer comme expliqué ici Marquer Résolu
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- ManitOOu
- Messages : 3160
- Inscription : 06 juil. 2008 17:08
- Localisation : dans le Périgord
Re: INSERER DANS UNE CELLULE LE NOM DU FICHIER
Bonjour,
J'ai également remplacé le texte "improbable" "pys2310pys" par la lettre grecque µ et la recherche de la dernière ' par la recherche du #.
La formule est à la fois longue et complexe. Pour la racourcir on peut faire appel à des cellules intermédiaires mais on peut également utiliser les formules nommées.
Par le menu Insertion > Nom > Définir nous allons donner les noms suivants:
Dans une cellule quelconque, la formule suivante (utilisant les noms définis plus haut) nous donnera le nom du fichier :
A+
En me basant sur les formules de Pierre-Yves, et en utilisant STXT au lieu de DROITE et GAUCHE, cela pourrait donner ceci :Pierre-Yves Samyn a écrit :mais on pourrait tout regrouper dans une formule complexe.
Code : Tout sélectionner
=STXT(CELLULE("filename");TROUVE("µ";SUBSTITUE(CELLULE("filename");"/";"µ";NBCAR(CELLULE("filename"))-NBCAR(SUBSTITUE(CELLULE("filename");"/";""))))+1;TROUVE("#";CELLULE("filename"))-TROUVE("µ";SUBSTITUE(CELLULE("filename");"/";"µ";NBCAR(CELLULE("filename"))-NBCAR(SUBSTITUE(CELLULE("filename");"/";""))))-6)
La formule est à la fois longue et complexe. Pour la racourcir on peut faire appel à des cellules intermédiaires mais on peut également utiliser les formules nommées.
Par le menu Insertion > Nom > Définir nous allons donner les noms suivants:
Code : Tout sélectionner
file =CELLULE("filename") 'nous donne le chemin complet de la feuille;
debut =TROUVE("µ";SUBSTITUE(file;"/";"µ";NBCAR(file)-NBCAR(SUBSTITUE(file;"/";""))))+1 'nous donne la position du nom du fichier.
fin =TROUVE("#";file)-5 'nous donne la position de l'extension.
Code : Tout sélectionner
=STXT(file;debut;fin-debut)
-
- GourOOu
- Messages : 5752
- Inscription : 02 janv. 2009 23:56
Re: INSERER DANS UNE CELLULE LE NOM DU FICHIER
Bonsoir à tous,
En essayant de couvrir les hurlements majuscules (toujours pas modifiés !) de notre correspondant, je viens apporter une petite pierre (=calcul ! ) à l'édifice. Trois petites améliorations :
[CORRECTIF] Attention erreur dans le code ci-dessus, voir commentaires dans mon message suivant...
Cordialement
Jean-Louis
En essayant de couvrir les hurlements majuscules (toujours pas modifiés !) de notre correspondant, je viens apporter une petite pierre (=calcul ! ) à l'édifice. Trois petites améliorations :
- utiliser le quatrième argument de SUBSTITUE(), qui précise l'occurrence à remplacer
- ajouter la fonction alea() pour une mise à jour automatique sans avoir à utiliser Ctrl+Maj+F9
- utiliser un caractère de substitution interdit et non pas improbable(ici le caractère *)
Code : Tout sélectionner
=STXT(CELLULE("filename");TROUVE("*";SUBSTITUE(CELLULE("filename");"/";"*";NBCAR(CELLULE("filename"))-NBCAR(SUBSTITUE(CELLULE("filename");"/";""))))+1;NBCAR(CELLULE("filename"))-TROUVE(".";CELLULE("filename"))-2+ALEA()*0)
Cordialement
Jean-Louis
Dernière modification par Jean-Louis Cadeillan le 04 juil. 2010 22:14, modifié 1 fois.
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
-
- ManitOOu
- Messages : 3160
- Inscription : 06 juil. 2008 17:08
- Localisation : dans le Périgord
Re: INSERER DANS UNE CELLULE LE NOM DU FICHIER
Bonsoir Jean-Louis,
J'avais oublié que j'utilise TROUVE et non CHERCHE.
Il reste juste un petit problème avec ton 4ème argument, as-tu testé ta formule avec des longueurs différentes de nom de fichier et de feuille ?
A+
Il est utilisé dans ma formule. Oui je sais, elle est tellement longue que cela n'est pas évidant au premier coup d'œilutiliser le quatrième argument de SUBSTITUE(), qui précise l'occurrence à remplacer
Excellente idée même si on ne change pas fréquement le nom du classeur sans le fermer et réouvrir, ce qui provoque le recalcul.ajouter la fonction alea() pour une mise à jour automatique sans avoir à utiliser Ctrl+Maj+F9
De même que pour l'utilisation du . j'avais la crainte d'une confusion avec les expréssions régulières. Crainte infondée, cela fonctionne.utiliser un caractère de substitution interdit et non pas improbable(ici le caractère *)
J'avais oublié que j'utilise TROUVE et non CHERCHE.
Il reste juste un petit problème avec ton 4ème argument, as-tu testé ta formule avec des longueurs différentes de nom de fichier et de feuille ?
A+
-
- Fraîchement OOthentifié
- Messages : 5
- Inscription : 03 avr. 2010 22:56
Re: Insere dans le titre le nom du fichier
bonjour, merci d'avoir pris le temps de me répondre.
concernant la modération merci de m'avoir rappelé quelle était ma place.
Je vais de pas y retourner et vous laisser entre spécialistes.
concernant la modération merci de m'avoir rappelé quelle était ma place.
Je vais de pas y retourner et vous laisser entre spécialistes.
-
- GourOOu
- Messages : 5752
- Inscription : 02 janv. 2009 23:56
Re: Insere dans le titre le nom du fichier
En ce qui me concerne, j'espère ne pas devenir spécialiste de la bourde, car ma formule soi-disant plus compacte ne l'est pas , j'avais fait la soustraction [Nombre total de caractères - position de fin du nom], au lieu de faire [position de fin du nom - position de début du nom], il se trouve que le nom de la feuille était aussi long que le nom du fichier ce qui a masqué ma bévue.hiroito a écrit :vous laisser entre spécialistes
Merci Gérard de l'avoir décelée ! ... donc toujours tester dans des situations variées...gerard24 a écrit :Il reste juste un petit problème avec ton 4ème argument, as-tu testé ta formule avec des longueurs différentes de nom de fichier et de feuille ?
mauvaise lecture de ma part !gerard24 a écrit :Il est utilisé dans ma formule
c'est vrai que c'est bien plus utile pour le nom de la feuille que le nom du fichier !gerard24 a écrit :si on ne change pas fréquement le nom du classeur sans le fermer et réouvrir, ce qui provoque le recalcul
effectivement, pas de confusion possible avec les expressions régulières...gerard24 a écrit :J'avais oublié que j'utilise TROUVE et non CHERCHE
@ Hiroito : le forum est un lieu d'échanges où il est permis de ne pas savoir, de se tromper (je suis concerné !), tout cela est un terrain fertile pour apprendre et tout le monde peut y contribuer ! Moyennant quelques règles communes, le forum est un espace de convivialité où l'on n'est justement pas obligé d'être spécialiste pour participer ! La bonne humeur et la bonne volonté sont des puissants vecteurs d'apprentissage !
Cordialement
Jean-Louis
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
-
- Grand Maître de l'OOffice
- Messages : 11276
- Inscription : 02 mai 2006 08:42
Re: Insere dans le titre le nom du fichier
Excellente idéeJean-Louis Cadeillan a écrit :ajouter la fonction alea() pour une mise à jour automatique sans avoir à utiliser Ctrl+Maj+F9
Ajout : Mais qui ne remplit pas tout à fait l'objectif annoncé : le nom de fichier sera actualisé en cas de saisie dans la feuille mais pas lors de l'enregistrement du fichier sous un nouveau nom...
Euh... les gars... vous voulez me faire de la peine ?
|