Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Établir une variable dans un texte dans une cellule

6 réponses
Avatar
rmillerlcxl
Bonjour,

J'ai cherch=C3=A9 mais en vain. Je ne crois pas que cela pourrait se faire =
mais je pose la question.

Dans une feuille j'ai plusieurs paragraphes qui sont dans des cellules dont=
certaines fusionn=C3=A9es.

Par exemple dans une cellule j'ai le texte suivant.

La fin d'ann=C3=A9e de Les Entreprises DEMO Inc. est le 31 mars 2018.

Dans une autre feuille du classeur on y entre des param=C3=A8tres tels que =
le nom de l'entreprise et la date de fin d'ann=C3=A9e.

Actuellement j'ai mis en place un proc=C3=A9d=C3=A9 et ensuite une macro qu=
i fait comme un rechercher remplacer.

Mais je me pose la question s'il n'y aurait pas plut=C3=B4t un moyen que de=
s infos pr=C3=A9cises telles que Les Entreprises DEMO Inc. et 31 mars 2018 =
se change automatiquement par exemple que =C3=A7a devienne ABC Inc. et 31 d=
=C3=A9cembre 2018 et ceci provient des param=C3=A8tres de l'autre feuille.

IL me faut pr=C3=A9ciser que l'usager peut modifier le texte dans une cellu=
le. Donc =C3=A7a ne peut provenir de formules.

J'esp=C3=A9rerais que ... au lieu de faire un rechercher remplacer ... =C3=
=A0 l'activation de la feuille les variables (donc aussi possiblement plusi=
eurs dans une m=C3=AAme cellules) se modifieraient automatiquement.

Par exemple dans ma feuille o=C3=B9 sont saisis les param=C3=A8tres les cel=
lules sont d=C3=A9finies. dans ma feuille 1 =C3=A0 la cellule A1 qui contie=
nt le nom de l'entreprise est un nom d=C3=A9fini CN_NomEntrep et =C3=A0 la =
cellule A3 qui contient la date de la fin d'ann=C3=A9e est d=C3=A9finie par=
CN_DateFin.

Merci =C3=A0 l'avance.

6 réponses

Avatar
Michd
Bonjour,
Peux-tu publier ton classeur (remplace toutes les informations sensibles par
des données bidon, ce qui m'intéresse c'est la disposition des données dans
la (les) feuille.) Et utilise cette adresse pour publier ton classeur
"Cjoint.Com". Retourne-nous ici l'adresse que tu obtiendras.
En passant, il faut éviter le plus possible de "fusionner" des cellules dans
des tableaux de données. Cela complique souvent la tâche par la suite. Dans
la fenêtre "Format de cellule / onglet : Alignement" Horizontal - utilise
plutôt l'option "centrer sur plusieurs colonnes". Évidemment cela présuppose
que tu as plusieurs cellules adjacentes de sélectionner.
MichD
Avatar
JièL
Bonjour,
votre exemple est un exemple typique de mauvaise utilisation d'un tableur !!
Ce que moi je ferais c'est un document avec Word et une "base de
données" avec les données que vous appelez "Variables" et un mailing
avec le tout.
La "multitudes" de situation serait réglés en 2 coups de modif du
fichier de base.
"Quand on n'as qu'un marteau dans sa caisse à outils, tous les problèmes
ont la forme d'un clou", et ça se vérifie encore une fois ici.
Vous ne feriez pas le Dakar avec un vélo de route, alors pourquoi
demander à Excel de faire ce qu'il ne sais pas (ou mal) faire ?!
--
JièL marteau !!!
Le 19/01/2018 à 18:44, a écrit :
Désolé sans le vouloir le message a été publié.
Plutôt svp vous référer à cette publication car la précédente ne contient pas toutes les explications.
Bonjour,
Un grand merci pour votre offre.
Dans mon fichier réel il y a plusieurs longues lettres et surtout plusieurs textes à remplacer et à gérer selon une multitude de situations. Il me serait difficile de vous expédier le fichier et de tout expliquer.
Mais j'ai placé sur ci-joint un fichier qui reproduit très bien la situation avec un minimum de textes dont j'aimerais arriver à mieux gérer. Voici le lien : https://cjoint.com/c/HAtrRHqoBX6
Il y a 3 feuilles. PARAM et LETTRE1 et LETTRE2. Mon exemple contient 2 textes à gérer dans PARAM. Le nom de l'entreprise et la date de fin d'année. Dans la feuille PARAM j'ai 4 noms définis soit 2 pour l'année courante et 2 pour l'année précédente. J'ai créé des noms définis pour l'année précédente au cas ou cela pourrait être utile.
Vous noterez pour les infos de l'année précédente se retrouvent dans la lettre.
Aussi vous noterez que les infos sont aussi différentes dans la LETTRE1 et dans la LETTRE2.
je cherche à remplacer les textes dans les lettre par les textes de l'année courante.
Par exemple dans LETTRE1 j'ai besoin que LES ENTREPRISES DEMO INC. devienne ABC INC. et que le 31 décembre 2017 devienne le 31 mars 2018.
Aussi que dans la LETTRE2 que CONSTRUCTION DEF INC. devienne ABC INC. et que le 31 mai 2016 devienne le 31 mars 2018.
Donc que les 2 lettres avec ces variables différentes se mettent à jour avec les variables de la feuille PARAM.
Actuellement je réussi à le faire mais par un rechercher remplacer par macro. Mais ... ce serait long à tout expliquer ... ça me cause des ennuis dans certaines situations. Par exemple les usagers peuvent avoir des dates différentes dans les différentes lettres qui ne correspondent aucunement aux infos dans la feuille PARAM.
Je me pose la question s'il n'y aurait pas plutôt la possibilité de gérer cela par des variables ou??6
Merci à l'avance.
Avatar
JièL
Le 19/01/2018 à 20:17, a écrit :
Mais brièvement j'ai plusieurs fichiers Excel qui "travaillent"
ensemble. Mes usagers sont des comptables et il y a un fichiers de
feuilles de travail,

Ca c'est bien le job d'Excel
un autre pour des états financiers,

Ca c'est le job d'un SGBD ou d'un gestionnaire d'état si la base est
dans Excel
un autre de lettres,

Et ça c'est pour Word, mais les données peuvent très bien être dans Excel.
MS à produit une "suite" justement pour que chaque tâche puisse être
faite avec un logiciel "kivabien" et ces dit logiciel sont fait pour
communiquer ensembles, en prendre un pour faire le job de l'autre c'est
comme prendre une fourchette pour manger de la soupe.
Ca se fait, mais quelle galère par rapport à une cuillère, même une
cuillère à café est mieux adapté, non ?
Je n'ose m imaginer ce qu'occasionnerait un fichier Word
dans tout ceci.

Moi je n'ose imaginer tout ce que vous faite faire à Excel alors qu'il
n'est nativement pas fait pour ça.
ça ne se ferait pas. Est-ce le cas?

Je n'ai pas dit ça, tout est toujours possible, mais combien de temps en
d'em***dement vous allez vous créer en utilisant un seul outils, surtout
si celui ci n'est pas fait pour.
J'ai connu une personne qui faisait du dessin industriel depuis 2 ans
avec les outils de dessin d'Excel... Le jour où elle à découvert un
outils "fait pour", elle à réalisée qu'elle avait passée 2 à 3 fois trop
de temps (et d'énervement) avec Excel, et que si elle avait investi
seulement quelques jours de formation dans LE bon outils elle serait
bien plus avancé aujourd'hui !
--
JièL
Avatar
Michd
Bonjour,
Je te donne un exemple que tu pourrais adapter. C'est un fichier qui a été
créé par John Walkenbach (auteur de plusieurs livres sur Excel et VBA) :
https://www.cjoint.com/c/HAtxzUi4xwi
Dans la feuille "Form", tu as une lettre typique que tu veux transmettre à
des usagers et dans la feuille "Data", un tableau de données représentant
chacun des usagers. Dans ce tableau, tu peux inscrire autant de données pour
un usager particulier, cela ne fait qu'augmenter le nombre de colonnes que
tu utilises. Tu peux même définir un (des) extrait du texte comme champ
particulier que tu adaptes pour chaque individu si besoin.
Lorsque ton tableau "Data" est complet, il s'agit d'adapter la lettre en
utilisant des formules. Selon ce que tu veux faire, il s'agit d'adapter une
lettre standard dans laquelle tu insères les formules. Le texte qui
apparaitra dans ta lettre standard sera différent selon l'usager. La
difficulté est la création d'une lettre standard avec une disposition
appropriée.
Je ne peux pas t'en dire plus, ta problématique est trop particulière.
MichD
Avatar
Michd
Bonjour,
Que veut dire ceci : "Et je dois gérer des MAJ Exercice et de Version" ->
Mise à jour d'exercice et de version.
Que veux-tu qu'Excel réalise pour toi? États financiers, lettres,
questionnaires se retrouvent tous dans des feuilles de calcul différentes ?
En supposant que tu veuilles faire le travail manuellement, que voudrais-tu
qu'il se passe si tu avais à faire la mise à jour d'une lettre dans une
feuille de calcul ? Qu'est-ce qui doit changer dans la lettre, des en-têtes,
des dates, ou le texte lui-même? Dois-tu tenir un registre des différentes
versions des lettres et des dates des mises à jour?
Je ne comprends pas trop ce que tu veux faire, mais comme dans mon autre
message, je t'ai donné une idée sur ce qu’il est possible de faire. Pour
chaque client, tu entres toutes les informations que tu as de besoin dans la
feuille data, et sous le même principe de l'exemple, tu adaptes chacune des
feuilles avec des formules. Il s'agit de modèle de feuille standard pour
tous les clients. Pour chacun des clients, tu extrais à l'aide des formules
les informations que tu as besoin.
MichD
Avatar
Michd
Bonjour,
2 façons de procéder :
A ) par formule, je t'ai donné un exemple.
B ) Par macro que tu peux lancer à l'aide d'un bouton ou d'une procédure
événementielle. Mais le principe demeure le même. Tu as besoin d'une feuille
"DATA" où tu regroupes toutes les informations pertinentes pour chaque
usager.
La macro peut rechercher une personne dans le tableau de la feuille data et
insérer dans la feuille toute information pertinente à des endroits bien
précis.
Pour ce qui est des lettres, tu peux même créer un modèle dans Word et
lancer une macro faisant un publipostage en utilisant les données de la
feuille "data".
Pour créer une telle macro, les feuilles modèles de "lettres" ou de
"comptabilité" doivent déjà exister de même que le tableau de la feuille
"data". Pour écrire une macro, il faut déjà avoir une idée très précise de
ce que l'on veut faire.
Quel que soit le la manière retenue, l'objectif est d'automatiser la (les)
tâche. La dernière méthode est manuellement.
MichD
a écrit dans le message de groupe de discussion :
Merci beaucoup. C'est grandement apprécié.
J'ai regardé le fichier que vous avez placé sur CJoint et c'est exactement
ce dont je veux en arriver ... mais ... sans ... qu'il y ait de formules. Je
connaissais cette façon de faire que je j'utilise à d'autres endroits.
Je me demandais s'il pouvait y avoir un moyen que je ne connais pas pour que
&FirstName& exemple dans la ligne 26 de la feuille Form puisse être reconnu
mais sans formule. Je me posais la question si cela avait été possible par
macro ou encore par une fonction comme je crois qu'il existe dans Word soit
un champ dans une cellule et qui fait ce que la formule fait. Évidement une
macro ou??? convertirait la variable.
Par exemple si dans la cellule j'inscrit &FirstName& par macro je peux
remplacer cela par Richard. Mais la difficulté est de pouvoir ... toujours
... remettre &FirstName& ou la nouvelle variable. Car l'usager peut
manuellement modifier Richard pour Henri. Et là ... lorsqu'on veut remettre
&FirstName& ... le lien est rompu. Ça reviens à faire rechercher et
remplacer par macro.
Pour les mises à jour ... et bien c'est comptable. La mise à jour d'exercice
est le changement d'année financière. Donc je produit un nouveau fichier et
effectue des transferts de data dans les année antérieures à l'intérieur du
nouveau fichier. Et la mise à jour de version consiste à transférer des
data, formules et formats dans des nouveaux fichiers qui contiennent des
nouveautés.
Encore merci!