Une copie non conforme d'une cellule!

Adamev

XLDnaute Occasionnel
Bonjour;
J'ai, dans un feuille, la case A1 vide. pour m’assurer qu'elle est vide, je fais, dans B1, =ESTVIDE(A1) qui me renvoie VRAI.
Dans la case C1 j'écris : =A1 qui renvoie un beau zéro. Dans D1 je teste: ESTVIDE(C1) et ça me renvoie FAUX.
On a donc bel et bien 2 cellules égales mais l'une est vide, l'autre non!!
Que faire pour que C1 soit tout à fait égale à A1, c-à-d vide?

Cordialement
 
Dernière édition:

simraill

XLDnaute Occasionnel
Re : Une copie non conforme d'une cellule!

bonjour Adamev,

En fait je crois que t'as cellule C1 n'est pas vide car elle contient une formule.
Si tu test avec ="" ou en mettant un espace, t'as cellule sera bien vide (blanche), mais D1 retrounera FAUX

Simraill
 

Adamev

XLDnaute Occasionnel
Re : Une copie non conforme d'une cellule!

Bonjour Simraill,
Merci pour ta réponse.
J'ai testé avec ="", mais même résultat.
Je tiens à remarquer que C1 n'est pas vide, chez moi, (Excel 2007), elle contient 0 (zéro).
Et même avec =NBCAR(C1) ça retourne 1, c-à-d que la valeur renvoyée par la formule écrite en C1 est 0.
A+
 

simraill

XLDnaute Occasionnel
Re : Une copie non conforme d'une cellule!

Autant puor moi je n'avais pas bien compris ta demande.

Je pense que pour que ton C1 soit effectivement vide, il faut passer par vba et utiliser range("C1").clear

Que veux tu faire exactement? Si A1 est vide, C1 est vide, et si A1 à une valeur C1 à la même?
 

simraill

XLDnaute Occasionnel
Re : Une copie non conforme d'une cellule!

rajoute ça dans le code de ta feuille :
Code:
Private Sub Worksheet_selectionChange(ByVal Target As Range)
If Sheets(1).Range("a1").Value = "" Then
    Sheets(1).Range("c1").Clear
Else
    Sheets(1).Range("C1").Value = Sheets(1).Range("a1").Value
End If

End Sub
 

Adamev

XLDnaute Occasionnel
Re : Une copie non conforme d'une cellule!

Re,
Oui, ce code répond à mon souhait.
Mais le problème que j'ai posé, est la notion de l'égalité, (le signe =), dans une formule d'Excel. Est ce que cette notion est la même qu'en mathématiques?
Normalement, lorsque 2 cellules sont égales, et que l'une d'elles est vide, l'autre l'est aussi. Sinon elles ne sont pas réellement égales.
Je reformule ma question:
Est possible d'avoir, en utilisant une formule, le même résultat que ce de ce code?
Merci
 

Adamev

XLDnaute Occasionnel
Re : Une copie non conforme d'une cellule!

Bonjour JHA,
Merci pour la réponse.
Oui ça marche, mais uniquement pour le type texte. c-à-d lorsque on a un nombre dans A1, par exemple 45, on aura bien 45 dans C1, mais 45 comme texte. Ce qui me permet de dire que A1 et C1 ne sont pas égales. (Elles sont égales uniquement lorsque A1 contient un texte).
Quelle formule appliquer dans C1, pour que A1 et C1 soient égales: (même valeur, même type)

A+
 

JHA

XLDnaute Barbatruc
Re : Une copie non conforme d'une cellule!

Re,

Je te sens pointilleux car si tu reprends C1 pour des calculs, excel fait automatiquement la correction. Tu peux essayer:
Code:
=SI(OU(ESTTEXTE(A1);A1="");TEXTE(A1;"#");TEXTE(A1;"#")*1)

JHA
 

Adamev

XLDnaute Occasionnel
Re : Une copie non conforme d'une cellule!

Re,
En appliquant la formule que tu as prposée: pour A1=0 on a erreur dans C1.
A1 contient 0 et C1 contient #VALEUR!: Elles ne sont pas égales!
Tout cela provient du fait que Excel considère qu'une cellule vide, même de type texte, comme contenant un zéro!
A+
 

JHA

XLDnaute Barbatruc
Re : Une copie non conforme d'une cellule!

Re,

ou encore,
Code:
=SI(OU(ESTTEXTE(A1);A1="");TEXTE(A1;"#");SI(A1=0;A1;TEXTE(A1;"#")*1))
si tu as un zéro en texte
Code:
=SI(OU(ESTTEXTE(A1);A1="";A1="0");A1;SI(A1=0;A1;TEXTE(A1;"#")*1))

JHA
 
Dernière édition:

Adamev

XLDnaute Occasionnel
Re : Une copie non conforme d'une cellule!

Re,
Merci de toutes ces réponses, et de m'avoir accorder tout ce temps.
La première formule: pour A1 vide, C1 est bien vide, mais les types sont différents.
La deuxième formule: pour A1 vide, C1 =0.
Donc A1 et C1 sont inégales, bien que la formule dans C1 soit: =A1
A+
 

Adamev

XLDnaute Occasionnel
Re : Une copie non conforme d'une cellule!

Bonjour le forum;
Ma question est toujours posée!
Je la repose:
Je voudrais écrire dans C1 une formule qui me renvoie la valeur écrite dans A1, et surtout lorsque A1 est vide, je voudrais que C1 soit vide, et non pas contenant 0.

Je me base sur le fait que, logiquement, lorsque 2 cellules sont égales, et que l'une d'elles est vide, l'autre doit l'être aussi.
J'ai écris dans C1 la formule: =A1 qui me renvoie exactement ce qui est écrit dans A1, sauf lorsque A1 est vide ça me renvoie 0, ce qui me crée des problèmes ailleurs, du fait que Excel "conçoit" (rien) comme zéro.
En fait dans A1 j'ai la note d'un élève. Dans C1, par exemple, je voudrais avoir cette note. Le problème ne se pose pas. Mais lorsque l'élève est exempt de cet examen, la cellule A1 doit rester vide. Ce vide ne doit pas être pris comme zéro dans C1, mais C1 doit être, elle aussi, comme A1, et non égale à 0. (un élève non concerné par l'examen n'y aura pas un zéro)
Merci d'avance
 

Discussions similaires

Statistiques des forums

Discussions
312 836
Messages
2 092 656
Membres
105 479
dernier inscrit
chaussadas.renaud