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
Pour faire avancer le schliblick... Si j'inverse le commentaire entre les lignes
Cells(n_l_s, numéro_colonne).Value = chaine
et
'Cells(7, 1).Value = chaine
ça marche. La question est : Pourquoi la ligne
Cells(n_l_s, numéro_colonne).Value = chaine
renvoie-t-elle une erreur, alors que numéro_ligne, numéro_colonne et n-l_s sont corrects compte tenu des MsgBox ? ************************ Function CCAA(plage As Range)
-- Serge Nazarian Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Pour faire avancer le schliblick...
Si j'inverse le commentaire entre les lignes
Cells(n_l_s, numéro_colonne).Value = chaine
et
'Cells(7, 1).Value = chaine
ça marche.
La question est :
Pourquoi la ligne
Cells(n_l_s, numéro_colonne).Value = chaine
renvoie-t-elle une erreur, alors que numéro_ligne, numéro_colonne et
n-l_s sont corrects compte tenu des MsgBox ?
************************
Function CCAA(plage As Range)
Pour faire avancer le schliblick... Si j'inverse le commentaire entre les lignes
Cells(n_l_s, numéro_colonne).Value = chaine
et
'Cells(7, 1).Value = chaine
ça marche. La question est : Pourquoi la ligne
Cells(n_l_s, numéro_colonne).Value = chaine
renvoie-t-elle une erreur, alors que numéro_ligne, numéro_colonne et n-l_s sont corrects compte tenu des MsgBox ? ************************ Function CCAA(plage As Range)
-- Serge Nazarian Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Serge Nazarian
Serge Nazarian a écrit le 16/05/2012 :
Pour faire avancer le schliblick... Si j'inverse le commentaire entre les lignes
Cells(n_l_s, numéro_colonne).Value = chaine
et
'Cells(7, 1).Value = chaine
ça marche. La question est : Pourquoi la ligne
Cells(n_l_s, numéro_colonne).Value = chaine
renvoie-t-elle une erreur, alors que numéro_ligne, numéro_colonne et n-l_s sont corrects compte tenu des MsgBox ? ************************ Function CCAA(plage As Range)
Désolé, j'ai tapé trop vite, aucune des solutions ne marche.
-- Serge Nazarian Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Serge Nazarian a écrit le 16/05/2012 :
Pour faire avancer le schliblick...
Si j'inverse le commentaire entre les lignes
Cells(n_l_s, numéro_colonne).Value = chaine
et
'Cells(7, 1).Value = chaine
ça marche.
La question est :
Pourquoi la ligne
Cells(n_l_s, numéro_colonne).Value = chaine
renvoie-t-elle une erreur, alors que numéro_ligne, numéro_colonne et n-l_s
sont corrects compte tenu des MsgBox ?
************************
Function CCAA(plage As Range)
Pour faire avancer le schliblick... Si j'inverse le commentaire entre les lignes
Cells(n_l_s, numéro_colonne).Value = chaine
et
'Cells(7, 1).Value = chaine
ça marche. La question est : Pourquoi la ligne
Cells(n_l_s, numéro_colonne).Value = chaine
renvoie-t-elle une erreur, alors que numéro_ligne, numéro_colonne et n-l_s sont corrects compte tenu des MsgBox ? ************************ Function CCAA(plage As Range)
Désolé, j'ai tapé trop vite, aucune des solutions ne marche.
-- Serge Nazarian Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
pom...pom...pom..
Bonsour®
"Serge Nazarian" a écrit 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...
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.
chaine = "" For Each cell In plage chaine = chaine & cell.text Next
Bonsour®
"Serge Nazarian" a écrit
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...
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.
chaine = ""
For Each cell In plage
chaine = chaine & cell.text
Next
"Serge Nazarian" a écrit 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...
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.
chaine = "" For Each cell In plage chaine = chaine & cell.text Next
Jacquouille
Salut Beethoven V° -))
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "pom...pom...pom.." a écrit dans le message de groupe de discussion : jp0a41$hdo$
Bonsour®
"Serge Nazarian" a écrit 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...
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.
chaine = "" For Each cell In plage chaine = chaine & cell.text Next
Salut Beethoven V° -))
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"pom...pom...pom.." a écrit dans le message de groupe de discussion :
jp0a41$hdo$1@speranza.aioe.org...
Bonsour®
"Serge Nazarian" a écrit
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...
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.
chaine = ""
For Each cell In plage
chaine = chaine & cell.text
Next
" Le vin est au repas ce que le parfum est à la femme." "pom...pom...pom.." a écrit dans le message de groupe de discussion : jp0a41$hdo$
Bonsour®
"Serge Nazarian" a écrit 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...
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.
chaine = "" For Each cell In plage chaine = chaine & cell.text Next
Serge Nazarian
pom...pom...pom.. a écrit le 16/05/2012 :
Bonsour®
"Serge Nazarian" a écrit 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...
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.
chaine = "" For Each cell In plage chaine = chaine & cell.text Next
Ceci pose un nouveau problème, dû à la longueur différente de cell.Value et cell.Text.
Comment écrire en vba :
if (cellule est une chaine de caractères) then chaine = chaine & cell longueur = Len(cell) else chaine = chaine & cell.Text longueur = Len(cell.Text) End If
-- Serge Nazarian Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
pom...pom...pom.. a écrit le 16/05/2012 :
Bonsour®
"Serge Nazarian" a écrit
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...
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.
chaine = ""
For Each cell In plage
chaine = chaine & cell.text
Next
Ceci pose un nouveau problème, dû à la longueur différente de
cell.Value et cell.Text.
Comment écrire en vba :
if (cellule est une chaine de caractères) then
chaine = chaine & cell
longueur = Len(cell)
else
chaine = chaine & cell.Text
longueur = Len(cell.Text)
End If
--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
"Serge Nazarian" a écrit 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...
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.
chaine = "" For Each cell In plage chaine = chaine & cell.text Next
Ceci pose un nouveau problème, dû à la longueur différente de cell.Value et cell.Text.
Comment écrire en vba :
if (cellule est une chaine de caractères) then chaine = chaine & cell longueur = Len(cell) else chaine = chaine & cell.Text longueur = Len(cell.Text) End If
-- Serge Nazarian Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Serge Nazarian
Serge Nazarian a écrit le 16/05/2012 :
pom...pom...pom.. a écrit le 16/05/2012 :
Bonsour®
"Serge Nazarian" a écrit 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...
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.
chaine = "" For Each cell In plage chaine = chaine & cell.text Next
Ceci pose un nouveau problème, dû à la longueur différente de cell.Value et cell.Text.
Comment écrire en vba :
if (cellule est une chaine de caractères) then chaine = chaine & cell
else chaine = chaine & cell.Text longueur = Len(cell.Text) End If
Je pense avoir trouvé.
If (VarType(cell.Value) = 8 Or VarType(cell.Value) = 7) Then chaine = chaine & cell longueur = Len(cell) Else chaine = chaine & cell.Text longueur = Len(cell.Text) End If
-- Serge Nazarian Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Serge Nazarian a écrit le 16/05/2012 :
pom...pom...pom.. a écrit le 16/05/2012 :
Bonsour®
"Serge Nazarian" a écrit
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...
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.
chaine = ""
For Each cell In plage
chaine = chaine & cell.text
Next
Ceci pose un nouveau problème, dû à la longueur différente de cell.Value et
cell.Text.
Comment écrire en vba :
if (cellule est une chaine de caractères) then
chaine = chaine & cell
else
chaine = chaine & cell.Text
longueur = Len(cell.Text)
End If
Je pense avoir trouvé.
If (VarType(cell.Value) = 8 Or VarType(cell.Value) = 7) Then
chaine = chaine & cell
longueur = Len(cell)
Else
chaine = chaine & cell.Text
longueur = Len(cell.Text)
End If
--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
"Serge Nazarian" a écrit 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...
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.
chaine = "" For Each cell In plage chaine = chaine & cell.text Next
Ceci pose un nouveau problème, dû à la longueur différente de cell.Value et cell.Text.
Comment écrire en vba :
if (cellule est une chaine de caractères) then chaine = chaine & cell
else chaine = chaine & cell.Text longueur = Len(cell.Text) End If
Je pense avoir trouvé.
If (VarType(cell.Value) = 8 Or VarType(cell.Value) = 7) Then chaine = chaine & cell longueur = Len(cell) Else chaine = chaine & cell.Text longueur = Len(cell.Text) End If
-- Serge Nazarian Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Serge Nazarian
Serge Nazarian a écrit le 16/05/2012 :
Bonjour,
Je cherche à concaténer des cellules en conservant leur attibuts.
Voici la version (définitive ?) de la procédure.
http://cjoint.com/?BErrdfIM34F
En fait, j'ai mis deux procédures, aucune n'étant complétement satisfaisante, mais CCAAC a ma préférence.
Si quelqu'un veut modifier le le fichier joint pour résoudre les problèmes mis en évidence, il est le bienvenu.
Meri à tous ceux qui m'ont aidé.
Cordialement,
-- Serge Nazarian Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Serge Nazarian a écrit le 16/05/2012 :
Bonjour,
Je cherche à concaténer des cellules en conservant leur attibuts.
Voici la version (définitive ?) de la procédure.
http://cjoint.com/?BErrdfIM34F
En fait, j'ai mis deux procédures, aucune n'étant complétement
satisfaisante, mais CCAAC a ma préférence.
Si quelqu'un veut modifier le le fichier joint pour résoudre les
problèmes mis en évidence, il est le bienvenu.
Meri à tous ceux qui m'ont aidé.
Cordialement,
--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Je cherche à concaténer des cellules en conservant leur attibuts.
Voici la version (définitive ?) de la procédure.
http://cjoint.com/?BEshRMTEbkL
Si quelqu'un veut modifier le fichier joint pour résoudre le problème du format conditionnel, il est le bienvenu.
Meri à tous ceux qui m'ont aidé.
Cordialement,
-- Serge Nazarian Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Jacquouille
Salut Beethoven (V°)
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "pom...pom...pom.." a écrit dans le message de groupe de discussion : jp0a41$hdo$
Bonsour®
"Serge Nazarian" a écrit 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...
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.
chaine = "" For Each cell In plage chaine = chaine & cell.text Next
Salut Beethoven (V°)
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"pom...pom...pom.." a écrit dans le message de groupe de discussion :
jp0a41$hdo$1@speranza.aioe.org...
Bonsour®
"Serge Nazarian" a écrit
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...
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.
chaine = ""
For Each cell In plage
chaine = chaine & cell.text
Next
" Le vin est au repas ce que le parfum est à la femme." "pom...pom...pom.." a écrit dans le message de groupe de discussion : jp0a41$hdo$
Bonsour®
"Serge Nazarian" a écrit 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...
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.
chaine = "" For Each cell In plage chaine = chaine & cell.text Next
Gloops
Bonjour,
J'attrape la discussion au vol, j'ai vu qu'à un moment il était quest ion 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 ...
Bonjour,
J'attrape la discussion au vol, j'ai vu qu'à un moment il était quest ion
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 ...
J'attrape la discussion au vol, j'ai vu qu'à un moment il était quest ion 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 ...