Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/07/2011, 23h38   #1
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Par défaut Afficher des propriétés de classeur dans une cellule

Bonjour,

Je cherche un moyen pour afficher une propriété personnalisée de classeur comme chaîne de caractères, paramètre d'une fonction dans une cellule. Je VEUX pas utiliser de vba (sinon le tutoriel de Silkyroad répond largement à mes attentes ainsi que la FAQ) mais là, pour des questions de sécurité, ce n'est pas envisageable. En gros, existe-t-il une fonction équivalente à DOCPROPERTY de Word ?

A défaut, peut-on utiliser le nom d'une plage de cellules comme chaîne de caractères, paramètre d'une fonction dans une cellule ? Attention, je ne veux pas récupérer le contenu de mes cellules (là j'y arrive) mais bien le nom de ma plage. Là encore, je ne veux pas utiliser de vba.

Merci d'avance

@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 01h15   #2
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 305
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 305
Points : 2 653
Points : 2 653
Bonsoir,
Je ne sais pas quel type d'information tu veux afficher mais les fonctions Cellule et Informations restituent certaines propriétés.
Il y a aussi la fonction héritée des Macros Excel 4 LIRE.CELLULE(Type;Reference) qui n'est pas du VBA mais détectée comme une macro.
Je m'en sert pour afficher la formule contenue dans une cellule.
Un exemple d'utilisation ici
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 10h08   #3
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 198
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 8 198
Points : 14 411
Points : 14 411
Envoyer un message via Skype™ à Pierre Fauconnier
Salut Jean-François,

Perso, je n'ai pas compris ceci
Citation:
A défaut, peut-on utiliser le nom d'une plage de cellules comme chaîne de caractères, paramètre d'une fonction dans une cellule ? Attention, je ne veux pas récupérer le contenu de mes cellules (là j'y arrive) mais bien le nom de ma plage. Là encore, je ne veux pas utiliser de vba.
Si tu précises la propriété que tu souhaites récupérer, ce sera plus facile de t'aider... ou pas
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 00h34   #4
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut Pierre,

Merci à vous 2. J'ai été pas mal pris.

Voici mon problème plus en détails. Je voudrai utiliser une formule qui prenne en paramètre un texte mais je ne voudrai pas modifier (si possible) ni les feuilles existantes, ni le contenu des cellules de mes feuilles ==> l'exploration d'une solution d'utilisation de l'équivalent d'un champ "DOCPROPERTY monTexte" dans Word. Et la mise à jour de ma propriété monTexte (ou à la rigueur une propriété standard) permet la mise à jour sans modifier ni les feuilles existantes, ni le contenu des cellules de mes feuilles.

@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 14h38   #5
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 198
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 8 198
Points : 14 411
Points : 14 411
Envoyer un message via Skype™ à Pierre Fauconnier
Salut Jean-François,

Citation:
Envoyé par Sepia Voir le message
...
En gros, existe-t-il une fonction équivalente à DOCPROPERTY de Word ?
...
A ma connaissance, non.

Citation:
Envoyé par Sepia Voir le message
...
A défaut, peut-on utiliser le nom d'une plage de cellules comme chaîne de caractères, paramètre d'une fonction dans une cellule ? Attention, je ne veux pas récupérer le contenu de mes cellules (là j'y arrive) mais bien le nom de ma plage. Là encore, je ne veux pas utiliser de vba.
...
J'avoue ne pas bien comprendre ce que tu cherches à réaliser... Pourquoi veux-tu utiliser le nom d'une plage comme paramètre pour le récupérer via une fonction?

Pourrais-tu donner un exemple de ce que tu souhaites obtenir?
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2011, 00h43   #6
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut Pierre,

Et merci pour tes réponses, d'abord.

En fait, j'ai des fichiers avec des liens hypertextes qui doivent être modifiés selon des critères lors de l'affichage du fichier. Comme je traite déjà ce fichier, le plus simple est de faire un remplacement global mais cela peut être, dans mon cas, très long car il peut y avoir beaucoup de formes de liens. Comme ces fichiers doivent être "visuellement" identiques à ceux initiaux, je ne peux pas normaliser les formes de liens ni utiliser Word ==> plusieurs remplacements, ce qui peut-être long. Mon idée est donc d'utiliser les formules de traitement de chaînes d'Excel pour ne modifier qu'à un seul endroit puis lancer le moteur d'Excel effectué les remplacements lors de l'élaboration du résultat de la formule. D'où l'idée initiale de la DOCPROPEERTY (mais qui semble une impasse). J'ai déjà réussi à faire que les liens puissent être mis à jour à partir d'une seule cellule (que je peux mettre dans une feuille masqué) mais je préfère ne pas modifier la partie visible du document (feuille, cellule...). Et bien sûr, je ne peux pas utiliser des macros (sinon ce serait OK) pour des problèmes de sécurité ==> l'idée de passer par une variable (mais sans macro, je n'ai pas trouvé) ou bien de voir à définir un libellé au niveau des feuilles et des cellules mais sans les modifier visuellement ==> l'idée des plages nommées. Le problème est que je sais comment les référencer en VBA (mais je n'en veux pas), comment référencer leur contenu dans une formule mais la zone (pour en récupérer son nom, par exemple, quitte à lui faire subir des transformations puisque tous les caractères ne sont pas autorisés dans les libellés des plages).

Merci encore de ton temps

@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2011, 10h23   #7
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 305
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 305
Points : 2 653
Points : 2 653
Bonjour Jean-François,
Tu dis ne pas vouloir placer une macro pour raison de sécurité mais peux-tu travailler avec les macro-complémentaires ?
Ce serait peut-être une solution.
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2011, 11h29   #8
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 198
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 8 198
Points : 14 411
Points : 14 411
Envoyer un message via Skype™ à Pierre Fauconnier
Je ne suis pas certain d'avoir compris pile poil ce que tu souhaites réaliser, mais je pourrais te proposer la fonction LIEN_HYPERTEXTE couplée à une plage nommée ou à la valeur d'une cellule. Tu pourrais ainsi recomposer les liens en modifiant globalement une partie du lien par la modification de la valeur de la plage nommée ou de la cellule.
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2011, 23h24   #9
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut à tous les 2,

Citation:
Envoyé par corona Voir le message
Tu dis ne pas vouloir placer une macro pour raison de sécurité mais peux-tu travailler avec les macro-complémentaires ?
Ce serait peut-être une solution.
Oui bien plus simple pour l'utilisation mais mêmes problèmes en termes de sécurité donc pas utilisable dans mon contexte.

Citation:
Envoyé par Pierre Fauconnier Voir le message
Je ne suis pas certain d'avoir compris pile poil ce que tu souhaites réaliser, mais je pourrais te proposer la fonction LIEN_HYPERTEXTE couplée à une plage nommée ou à la valeur d'une cellule. Tu pourrais ainsi recomposer les liens en modifiant globalement une partie du lien par la modification de la valeur de la plage nommée ou de la cellule.
En effet, Pierre c'est bien cela : j'utilise la fonction LIEN_HYPERTEXTE mais je voudrais rendre une partie de mon URL variable, donc j'écris ma valeur dans une cellule. Comme (dans mon contexte), je ne peux modifier visuellement le contenu initial du fichier, j'utilise une cellule d'une feuille masquée que j'ajoute. C'est Ok donc j'ai ma solution mais c'est quand même lourd (ajouter une feuille) et en plus, en fonction des macros du fichier initial (que je ne connais pas), je peux avoir un problème (si par exemple, il y a une macro qui compte le nombre de feuilles, ou qui en ajoute en fin, des trucs comme ça...) ==> l'idée d'utiliser une variable "invisible" du type DOCPROPERTY, variables de document (de Word) mais toujours sans macro. Le plus proche que j'ai trouvé, c'est une plage nommée car Excel permet d'en ajouter autant que l'on veut sans modifier l'existant, ce n'est pas visible et ça n'a pas d'incidence sur les macros existantes (enfin il y a une chance que je considère négligeable). Mais le problème des plages nommées, c'est que je peux en référencer le contenu mais ce n'est pas qui correspond à mon besoin mais je ne sais pas comment utiliser le nom de la page comme valeur de paramètre dans la fonction. Est-ce qu'il est possible d'utiliser le nom d'une plage nommée dans une formule (attention pas utiliser la plage pour référencer son contenu) ou s'il y a une autre idée, je suis preneur. Ah dernier point, je ne peux non plus utiliser le nom du fichier car je n'en suis pas maître.

Mais comme je vous disais, la solution d'une cellule masquée ou d'une cellule dans une feuille masquée fonctionne bien (mais ce n'est pas "joli" ). Donc je cherche un truc plus sympa et je prends tous les idées même les plus folles (histoire de voir)

@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 09h28   #10
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 198
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 8 198
Points : 14 411
Points : 14 411
Envoyer un message via Skype™ à Pierre Fauconnier
Ok.

Je ne comprends pas pourquoi tu veux utiliser le nom de la "plage nommée" plutôt que son contenu...

Tu parles de plage nommée, mais tu pourrais créer un nom sans qu'il pointe vers une plage. Si, dans le contrôle "fait référence à", tu saisis
Citation:
="c:\chemin\"
tu pourras utiliser le contenu "comme pour une plage nommée" sans devoir créer une plage...

Cela résoudrait-il ton problème?
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 23h53   #11
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut Pierre,

Merci Pierre, je vais essayé cette astuce (de nouveau) car je crois avoir déjà essayé. Je te tiens au courant.

@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 00h06   #12
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut Pierre & corona,

Je viens de résoudre le problème en utilisant ce que Pierre m'a fourni. J'ai essayé mais Excel ajoute des "" et des ' qui pose problème.

Voici la solution complète.
  1. On définit un nom via le gestionnaire des noms et dans la zone "Fait référence à", on saisit la base de l'URL en faisant attention à ce qu'Excel n'ajoute pas de " ni de '
  2. On insère alors la formule suivante :
    Code :
    =LIEN_HYPERTEXTE("http://" & URL_PLAGE;"Test URL externe construit sur une plage")

Super et merci encore

@r
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 01h08   #13
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 305
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 305
Points : 2 653
Points : 2 653
Bonsoir Jean-François,
C'est génial et grâce à l'intervention de Pierre j'ai découvert une fonction LIEN_HYPERTEXTE dont j'ignorais les richesses d'utilisation.
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 08h39   #14
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 198
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 8 198
Points : 14 411
Points : 14 411
Envoyer un message via Skype™ à Pierre Fauconnier
Je me souviens du problème de l'ajout des guillemets, qui semble avoir été résolu dans la 2010, peut-être avant. Dans la 2010 en tous cas (mais je pense que c'était déjà comme cela avant), tu peux aussi entrer le texte sans les guillemets et sans le signe =, Excel complètera la saisie correctement.

Content que cette solution te convienne en tous cas!
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h40.


 
 
 
 
Partenaires

Hébergement Web