Je cherche à concaténer des cellules en conservant leur attibuts.
J'ai partiellement réussi à faire ce que je voulais (voir ci dessous ou
fichier http://cjoint.com/?BEqjDYxAzIO), mais il reste encore des
problèmes...
1) Je souhaite créer une fonction, c'est à dire pouvoir écrire dans une
cellule =CCAA(plage) où plage peut-être, si l'on veut sélectionnée avec
la souris, et que le résultat soit inscrit dans la cellule où se trouve
la formule CCAA(plage) (sans pour autant, si c'est possible, effacer
ladite formule !)
2) Si une des cellule de plage n'est pas une chaîne, utiliser le
contenu affiché à l'écran.
3) Dans un même ordre d'idée : dans mon exemple une cellule contient
0.07 mais le formatage la fait afficher 7%. Je souhaiterais que ce soit
7% qui apparaisse et non pas 0.07 dans le résultat final.
J'ouvre un autre sujet de discussion, car le sujet actuel n'a plus de
rapport avec le titre initial ! Veuillez répondre dans le nouveau
sujet.
Merci pour toute aide.
Cordialement,
***********************
Function CCAA(plage As Range)
'ConcaténerChaîneAvecAttribut
'concaténer les cellules d'une plage ne contenant que des chaînes en
conservant l'attribut de chaque cellule
il faut aussi vérifier le Style.Name Selection.Style.Name
soit il est normal, currency ou percent et j'en passe surement
-- isabelle
Le 2012-05-18 09:35, Gloops a écrit :
Bonjour,
J'attrape la discussion au vol, j'ai vu qu'à un moment il était question de faire apparaître chaque cellule
telle qu'à l'écran, du moins en tenant compte de son "format de nombres".
Assez classiquement on fait ça comme ça :
Format(Selection, Selection.NumberFormat)
en remplaçant Selection par la cellule à traiter.
En fait je viens de faire un essai sous Excel 2007, c'est un peu décevant :
la cellule est affichée en format monétaire, ce qui fait qu'avec 2 comme valeur, la formule ci-dessus retourne
2,00 _¤
Or, dans la cellule on voit bien 2,00 mais le signe ¤ n'apparaît pas.
Un spécialiste d'Excel va bien savoir dire quelle mise à jour j'ai loupée ...
Gloops
isabelle a écrit, le 18/05/2012 17:37 :
bonjour Gloops,
il faut aussi vérifier le Style.Name Selection.Style.Name
soit il est normal, currency ou percent et j'en passe surement
Bonjour Isabelle,
Dans l'exemple, le style est Normal.
Le classeur comporte 47 styles, dont celui-là. Et ActiveWorkbook.Styles("Normal").NumberFormat vaut General.
Ah, là je sèche : je suppose qu'il faut chercher dans les options Exc el la valeur du format de nombre General ?
Pour parler franchement, j'ai appris la notion de style sous Word. Là, j'ai appris qu'une mise en forme locale l'emporte sur les attributs des styles appliqués. J'imagine qu'il en va de même sous Excel ?
isabelle a écrit, le 18/05/2012 17:37 :
bonjour Gloops,
il faut aussi vérifier le Style.Name
Selection.Style.Name
soit il est normal, currency ou percent et j'en passe surement
Bonjour Isabelle,
Dans l'exemple, le style est Normal.
Le classeur comporte 47 styles, dont celui-là.
Et ActiveWorkbook.Styles("Normal").NumberFormat vaut General.
Ah, là je sèche : je suppose qu'il faut chercher dans les options Exc el
la valeur du format de nombre General ?
Pour parler franchement, j'ai appris la notion de style sous Word. Là,
j'ai appris qu'une mise en forme locale l'emporte sur les attributs des
styles appliqués. J'imagine qu'il en va de même sous Excel ?
il faut aussi vérifier le Style.Name Selection.Style.Name
soit il est normal, currency ou percent et j'en passe surement
Bonjour Isabelle,
Dans l'exemple, le style est Normal.
Le classeur comporte 47 styles, dont celui-là. Et ActiveWorkbook.Styles("Normal").NumberFormat vaut General.
Ah, là je sèche : je suppose qu'il faut chercher dans les options Exc el la valeur du format de nombre General ?
Pour parler franchement, j'ai appris la notion de style sous Word. Là, j'ai appris qu'une mise en forme locale l'emporte sur les attributs des styles appliqués. J'imagine qu'il en va de même sous Excel ?
Serge Nazarian
Serge Nazarian a écrit le 16/05/2012 :
Je cherche à concaténer des cellules en conservant leur attibuts.
Je pense avoir réussi ... partiellement. http://cjoint.com/?BECp0rJ1mDM
Le seul problème restant (mais je peux me trompter sur l'adjectif seul ) est que si une cellulle contient un format conditionnel qui utilise comme condition "La formule est" et que ladite formule utilise des référence relatives, par exemple L(-3)C(2) (ou l'équivalent référence A1), la concaténation a toutes les chances de ne pas fonctionner correctement.
Merci à tous ceux qui m'ont aidé pour réaliser cette procédure, dont l'utilité n'est pas prouvée, loin de là !
Cordialement,
-- Serge Nazarian Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Serge Nazarian a écrit le 16/05/2012 :
Je cherche à concaténer des cellules en conservant leur attibuts.
Je pense avoir réussi ... partiellement.
http://cjoint.com/?BECp0rJ1mDM
Le seul problème restant (mais je peux me trompter sur l'adjectif seul
) est que si une cellulle contient un format conditionnel qui utilise
comme condition "La formule est" et que ladite formule utilise des
référence relatives, par exemple L(-3)C(2) (ou l'équivalent référence
A1), la concaténation a toutes les chances de ne pas fonctionner
correctement.
Merci à tous ceux qui m'ont aidé pour réaliser cette procédure, dont
l'utilité n'est pas prouvée, loin de là !
Cordialement,
--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Je cherche à concaténer des cellules en conservant leur attibuts.
Je pense avoir réussi ... partiellement. http://cjoint.com/?BECp0rJ1mDM
Le seul problème restant (mais je peux me trompter sur l'adjectif seul ) est que si une cellulle contient un format conditionnel qui utilise comme condition "La formule est" et que ladite formule utilise des référence relatives, par exemple L(-3)C(2) (ou l'équivalent référence A1), la concaténation a toutes les chances de ne pas fonctionner correctement.
Merci à tous ceux qui m'ont aidé pour réaliser cette procédure, dont l'utilité n'est pas prouvée, loin de là !
Cordialement,
-- Serge Nazarian Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu