collage valeur

Le
Circé
Bonjour à tous !

Voici une question qui, j'en ai peur, ressemble à une question-piège
:(

Lorsqu'on fait un collage spécial Valeur, et que certaines formules
donne une valeur égale à rien (""), de type :

=SI(A1>10;"";"non")

le collage valeur donne bien rien, sauf que dans la réalité, ce n'est
pas rien !!! Je sais po si je suis claire sur ce coup-là ! :D

Si je teste avec la fonction ESTVIDE, le résultat est FAUX et pourtant
la cellule est bien vide.
Si je clique simplement dans la barre de formule, et que j'appuie sur
Entrée, le résultat devient VRAI.

Auriez-vous une solution ?

Merci !

Circé
http://faqword.com
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Misange
Le #20629591
Hello la muse,
C'est une idiotie d'excel : la chaine "" est une chaine de caratère vide
mais c'est une chaine et une cellule contenant "" n'est pas considérée
comme vide ! J'ai jamais compris pourquoi ce choix débile a été fait.

En VBA tu fais la différence : vbnullstring (pas de valeur) et
vbemptystring ("")

Je crains que ça ne t'aide beaucoup :-(
Misange migrateuse
http://www.excelabo.net


Circé a écrit :
Bonjour à tous !

Voici une question qui, j'en ai peur, ressemble à une question-piège... :(

Lorsqu'on fait un collage spécial Valeur, et que certaines formules
donne une valeur égale à rien (""), de type :

=SI(A1>10;"";"non")

le collage valeur donne bien rien, sauf que dans la réalité, ce n'est
pas rien !!! Je sais po si je suis claire sur ce coup-là ! :D

Si je teste avec la fonction ESTVIDE, le résultat est FAUX et pourtant
la cellule est bien vide.
Si je clique simplement dans la barre de formule, et que j'appuie sur
Entrée, le résultat devient VRAI.

Auriez-vous une solution ?

Merci !

Circé
http://faqword.com




michdenis
Le #20629701
Bonjour Circé,

Suite à ton collage spécial si tu double-cliques dans
la cellule qui a reçu le contenu du collage, la fonction
estvide() de cette cellule va te retourner Vrai.

En fait, ce que tu copie par le collage spécial est une
chaîne de caractère texte qui ne représente "rien". Le
double-clique dans la cellule actualise ce fait lorsqu'elle
est validé.
Si au lieu de =SI(A1>10;"";"non"),
tu utilisais : =SI(A1>10;"""";"non")
tu verrais dans la cellule à la suite de la copie " tout seul

Aussi bizarre que cela puisse paraître, Excel ne sait pas évaluer
"Rien" que tu as copié... il sait qu'il a reçu quelque chose mais
comme ce n'est pas une formule, comment peut-il faire pour
évaluer ce que c'est ...
Garnote
Le #20629681
Suite au collage valeur, la cellule n'est pas vide.
C'est la chaîne de caractères qu'elle contient qui est vide !!!

Serge



"Circé"
Bonjour à tous !

Voici une question qui, j'en ai peur, ressemble à une question-piège... :(

Lorsqu'on fait un collage spécial Valeur, et que certaines formules donne
une valeur égale à rien (""), de type :

=SI(A1>10;"";"non")

le collage valeur donne bien rien, sauf que dans la réalité, ce n'est pas
rien !!! Je sais po si je suis claire sur ce coup-là ! :D

Si je teste avec la fonction ESTVIDE, le résultat est FAUX et pourtant la
cellule est bien vide.
Si je clique simplement dans la barre de formule, et que j'appuie sur
Entrée, le résultat devient VRAI.

Auriez-vous une solution ?

Merci !

Circé
http://faqword.com




Garnote
Le #20629921
Suite au collage valeur, la formule =esttexte() renvoie VRAI.
;-)

"Garnote"
Suite au collage valeur, la cellule n'est pas vide.
C'est la chaîne de caractères qu'elle contient qui est vide !!!

Serge



"Circé"
Bonjour à tous !

Voici une question qui, j'en ai peur, ressemble à une question-piège...
:(

Lorsqu'on fait un collage spécial Valeur, et que certaines formules donne
une valeur égale à rien (""), de type :

=SI(A1>10;"";"non")

le collage valeur donne bien rien, sauf que dans la réalité, ce n'est pas
rien !!! Je sais po si je suis claire sur ce coup-là ! :D

Si je teste avec la fonction ESTVIDE, le résultat est FAUX et pourtant la
cellule est bien vide.
Si je clique simplement dans la barre de formule, et que j'appuie sur
Entrée, le résultat devient VRAI.

Auriez-vous une solution ?

Merci !

Circé
http://faqword.com








Misange
Le #20630101
en complément
au lieu de =estvide(B1), si tu as besoin de tester si la cellule
contient qqchose ou pas utilise =si (nbcar(B1)<1;"vide";"pas vide"). :-(
Misange

Misange a écrit :
Hello la muse,
C'est une idiotie d'excel : la chaine "" est une chaine de caratère vide
mais c'est une chaine et une cellule contenant "" n'est pas considérée
comme vide ! J'ai jamais compris pourquoi ce choix débile a été fait.

En VBA tu fais la différence : vbnullstring (pas de valeur) et
vbemptystring ("")

Je crains que ça ne t'aide beaucoup :-(
Misange migrateuse
http://www.excelabo.net


Circé a écrit :
Bonjour à tous !

Voici une question qui, j'en ai peur, ressemble à une
question-piège... :(

Lorsqu'on fait un collage spécial Valeur, et que certaines formules
donne une valeur égale à rien (""), de type :

=SI(A1>10;"";"non")

le collage valeur donne bien rien, sauf que dans la réalité, ce n'est
pas rien !!! Je sais po si je suis claire sur ce coup-là ! :D

Si je teste avec la fonction ESTVIDE, le résultat est FAUX et pourtant
la cellule est bien vide.
Si je clique simplement dans la barre de formule, et que j'appuie sur
Entrée, le résultat devient VRAI.

Auriez-vous une solution ?

Merci !

Circé
http://faqword.com






michdenis
Le #20631931
| Suite au collage valeur, la formule =esttexte() renvoie VRAI.

En VBA, lorsque l'on définit une variable comme suit :
dim x as string
lorsque la variable "x" n'a pas été initialée (donc vide) elle retourne ""

si on utilise ceci en vba :
dans tous les cas, la cellule C1 sera vraiment vide :
'------------------------------
Sub test()
Dim x As String
Range("C1").Value = x
Range("C1").Value = vbNullString
Range("C1").Value = vbNullChar
Range("C1").Value = ""
End Sub
'------------------------------
En passant le curseur au dessus de .Value, en surimpression,
excel nous renvoie la valeur "vide"
La propriété par défaut d'un "Range" étant "value", Excel
"évalue" correctement la valeur qu'on copie dans la cellule.
Lorsque cette valeur "" est copiée directement dans la cellule
par collage spécial, Excel n'a aucune ressource (comme la
propriété Value) pour en faire l'évaluation. Le double-clique
dans la cellule dissipe ses doutes !
FS
Le #20631551
Bonjour,

Avec une petite macro affectée à un bouton (ou le menu contextuel de la
feuille pour Excel 2007), tu peux obtenir le résultat souhaité :

'================== Sub CollageValeurPerso()
Dim cell As Range, plage As Range
On Error Resume Next
Set plage = _
Application.InputBox("Plage ou Cellule à copier/coller :", , , , ,
, , 8)
On Error GoTo 0
If Not plage Is Nothing Then
For Each cell In plage
cell.Value = cell.Value
Next
End If
End Sub
'===================
(Attention à la coupure de ligne).

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Circé a écrit :
Bonjour à tous !

Voici une question qui, j'en ai peur, ressemble à une question-piège... :(

Lorsqu'on fait un collage spécial Valeur, et que certaines formules
donne une valeur égale à rien (""), de type :

=SI(A1>10;"";"non")

le collage valeur donne bien rien, sauf que dans la réalité, ce n'est
pas rien !!! Je sais po si je suis claire sur ce coup-là ! :D

Si je teste avec la fonction ESTVIDE, le résultat est FAUX et pourtant
la cellule est bien vide.
Si je clique simplement dans la barre de formule, et que j'appuie sur
Entrée, le résultat devient VRAI.

Auriez-vous une solution ?

Merci !

Circé
http://faqword.com




michdenis
Le #20630501
Bonjour Frédéric,

Sauf erreur, c'est la plage de destination que doit la procédure
devrait s'exécuter et ce, après le copier-coller... ce que j'en
comprends, c'est comme si la procédure s'exécutait sur la
plage source !

Je dois mal comprendre... ;-)






"FS"
Bonjour,

Avec une petite macro affectée à un bouton (ou le menu contextuel de la
feuille pour Excel 2007), tu peux obtenir le résultat souhaité :

'================== Sub CollageValeurPerso()
Dim cell As Range, plage As Range
On Error Resume Next
Set plage = _
Application.InputBox("Plage ou Cellule à copier/coller :", , , , ,
, , 8)
On Error GoTo 0
If Not plage Is Nothing Then
For Each cell In plage
cell.Value = cell.Value
Next
End If
End Sub
'===================
(Attention à la coupure de ligne).

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Circé a écrit :
Bonjour à tous !

Voici une question qui, j'en ai peur, ressemble à une question-piège... :(

Lorsqu'on fait un collage spécial Valeur, et que certaines formules
donne une valeur égale à rien (""), de type :

=SI(A1>10;"";"non")

le collage valeur donne bien rien, sauf que dans la réalité, ce n'est
pas rien !!! Je sais po si je suis claire sur ce coup-là ! :D

Si je teste avec la fonction ESTVIDE, le résultat est FAUX et pourtant
la cellule est bien vide.
Si je clique simplement dans la barre de formule, et que j'appuie sur
Entrée, le résultat devient VRAI.

Auriez-vous une solution ?

Merci !

Circé
http://faqword.com




FS
Le #20630531
> Je dois mal comprendre... ;-)



Marina nous dira..

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

michdenis a écrit :
Bonjour Frédéric,

Sauf erreur, c'est la plage de destination que doit la procédure
devrait s'exécuter et ce, après le copier-coller... ce que j'en
comprends, c'est comme si la procédure s'exécutait sur la
plage source !

Je dois mal comprendre... ;-)






"FS"
Bonjour,

Avec une petite macro affectée à un bouton (ou le menu contextuel de la
feuille pour Excel 2007), tu peux obtenir le résultat souhaité :

'================== > Sub CollageValeurPerso()
Dim cell As Range, plage As Range
On Error Resume Next
Set plage = _
Application.InputBox("Plage ou Cellule à copier/coller :", , , , ,
, , 8)
On Error GoTo 0
If Not plage Is Nothing Then
For Each cell In plage
cell.Value = cell.Value
Next
End If
End Sub
'=================== >
(Attention à la coupure de ligne).

FS


Circé
Le #20630611
Bonsoir et merci pour vos réponses unanimes !

Effectivement, c'est une conn.ie de Microsoft, et je me voyais mal
dire à l'utilisateur de double-cliquer dans chaque cellule... Trop peur
de me faire lyncher ! :D

En fait la macro de Frédéric me convient parfaitement ! J'ai pas besoin
d'inputbox, je retiens tout bêtement :

For Each cell In Range("maplage")
cell.Value = cell.Value
Next

Et comme d'habitude, un grand merci pour l'épine que vous avez réussi à
m'ôter !

Circé
http://faqword.com


Circé vient de nous annoncer :
Bonjour à tous !

Voici une question qui, j'en ai peur, ressemble à une question-piège... :(

Lorsqu'on fait un collage spécial Valeur, et que certaines formules donne une
valeur égale à rien (""), de type :

=SI(A1>10;"";"non")

le collage valeur donne bien rien, sauf que dans la réalité, ce n'est pas
rien !!! Je sais po si je suis claire sur ce coup-là ! :D

Si je teste avec la fonction ESTVIDE, le résultat est FAUX et pourtant la
cellule est bien vide.
Si je clique simplement dans la barre de formule, et que j'appuie sur Entrée,
le résultat devient VRAI.

Auriez-vous une solution ?

Merci !

Circé
http://faqword.com


Publicité
Poster une réponse
Anonyme