Double champ pour une même cellule

ZDidier

XLDnaute Nouveau
Bonjour.

Voici une option qui m'arrangerai bien sous excell :

existe-il une option qui permette à une cellule à la fois :
d'afficher le résultat d'une formule,
et d'afficher ce que l'on a entrée à la main.

Précision par un exemple :

un cellulle affiche le résultat de =3+3
lorsque je rentre à la main dans la cellule 7, elle affiche 7
lorsque j'efface le contenue de la cellule, elle réaffiche le résultat de la formule =3+3

Celui qui me trouve ça, il a la classe :cool:

@+
Didier
 

jeanpierre

Nous a quitté
Repose en paix
Re : Double champ pour une même cellule

Bonsoir ZDidier et Bienvenue sur XLD,

Ce que tu demandes est TOTALEMENT impossible sous Excel, cela ne peut se faire qu'avec une macro (encore que).

En effet, si tu as une formule dans une cellule et que tu saisis autre chose dedans cela écrase de manière définitive ce qu'il y avait dedans précédemment.

Voir le pourquoi de ta question...

Bonne soirée.

Jean-Pierre
 
Dernière édition:

ZDidier

XLDnaute Nouveau
Re : Double champ pour une même cellule

Je m'en doutais un peu.....

ça aurait été utile lorsque tu dédies une cellule à une entrée utilisateur, qui prend une valeur par défault lorsque le champ n'est pas renseigné...

c'était beau de rêver.. ça n'a pas durer trop longtemps.
Je vais voir si je ne peux pas bidouiller ça par macro VB

(on peut affecter le résultats d'une macro à une cellule sansque ça soit imposer par une formule....)

En tout cas merci pour vos réponses.
@+

Didier
 

marco57

XLDnaute Occasionnel
Re : Double champ pour une même cellule

Bonsoir le Fil,

Sans solliciter VBA, c'est mission impossible.

Avec VBA, je te propose cette possibilité qui consiste à placer en commentaire la formule si c'est une formule et à retourner le commentaire sous forme de formule si la cellule est vide.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range

For Each Cel In Target
With Cel
If .Formula Like "=*" Then
.ClearComments: .AddComment (CStr(.Formula))
ElseIf .Value = "" And Not .Comment Is Nothing Then
If .Comment.Text Like "=*" Then .Formula = .Comment.Text
End If
.Comment.Visible = False
End With
Next

End Sub

C'est un peu bidouille et ça ne marche que si tu n'as pas besoin d'utiliser les commentaires mais c'est mieux que rien.

A+

Marco
 

ZDidier

XLDnaute Nouveau
Re : Double champ pour une même cellule

Hello
Merci Macro57 pour la réponse.
J'avoue que je n'ai pas encore bien compris comment mettre tout ça en boite.
Jutilise généralement les MAcro VB pour définir des fonctions...

JE vais me faire des tests on verra bien.

Si tu pouvais me faire une ptit fichier pour la démonstration
(aussi simple que mon exemple, ça m'arrangerai bien :p)
J'en demande surement rop

MErci encore.
@+
 

ZDidier

XLDnaute Nouveau
Re : Double champ pour une même cellule

PROLBLEME PRESQUE RESOLU!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Il n'y a qu'un petit détail qu'il manque :
je n'arrive pas à écrire une formule avec le nom d'une fonction...

Ce petit bout de code résume ma situation.

Private Sub Worksheet_Change(ByVal Target As Range)

If Sheets("Sheet1").Range("E7").Value = "" Then
'Sheets("Sheet1").Range("E7").Value = "=A1+A2" 'Marche
'Sheets("Sheet1").Range("E7").Formula = "=if(A3<>0;3;4)" 'Marche pas
'Sheets("Sheet1").Range("E7").Value = "=if(A3<>0;3;4)" 'Marche pas
'Sheets("Sheet1").Range("E7").Value = "=A3<>0" 'Marche
'Sheets("Sheet1").Range("E7").Value = "=A3<>""""" 'Marche
'Sheets("Sheet1").Range("E7").Value = "=SUM(A1;A2)" 'Marche pas
'Sheets("Sheet1").Range("E7").Value = "SUM(A1;A2)" 'Affiche SUM(A1;A2)
'Sheets("Sheet1").Range("E7").Formula = "SUM(A1;A2)" 'Affiche SUM(A1;A2)
Sheets("Sheet1").Range("E7").Formula = "=SUM(A1;A2)" 'Marche pas
End If



Plus que ça a résoudre, et ma journée sera magnifique.
(Malgrès le temps pourri que l'on a :p)

Quelqu'un a-t-il une solution?

Merci.
@+
 

kjin

XLDnaute Barbatruc
Re : Double champ pour une même cellule

Bonjour,
Testes
Code:
Sheets(1).Range("E1").Formula = "=IF(A3<>0,3,4)"
Sheets(1).Range("E2").Value = "=SUM(A1,A2)"
Sheets(1).Range("E3").Value = Application.Sum([A1], [A2])
Sheets(1).Range("E4").FormulaLocal = "=SI(A3<>0;3;4)"
A+
kjin
 

ZDidier

XLDnaute Nouveau
Re : Double champ pour une même cellule

MErci Kjin
tu as fait un 100%

'Sheets(1).Range("E7").Formula = "=IF(A3<>0,3,4)" 'Marche
'Sheets(1).Range("E7").Formula = "=IF(A3<>"""",3,4)" 'Marche
'Sheets(1).Range("E7").Value = "=SUM(A1,A2)" 'Marche
'Sheets(1).Range("E7").Value = Application.Sum([A1], [A2]) 'Marche
'Sheets(1).Range("E7").FormulaLocal = "=IF(A3<>0;3;4)" 'Marche
'Sheets(1).Range("E7").FormulaLocal = "=IF(A3<>"""";3;4)" 'Marche

Merci à tous pour vos aides précieuses
@+
Didier
 

marco57

XLDnaute Occasionnel
Re : Double champ pour une même cellule

Bonjour ZDidier, le Fil et le Forum,

Tout d'abord, merci à Saïd pour son salut. Il est vrai que vous me croisez plus souvent ailleurs d'ici. Mais que ce soit là ou ailleurs, la passion Excel est la même.

Pour répondre à Didier, voici le fichier demandé et quelque peu amélioré pour restreindre éventuellement le champ d'application de la procédure.

A la vue de tes derniers posts, il semble qu'une seule cellule soit concernée par la procédure. Il eut été bien de le dire tout de suite mais qui peut le plus peut le moins .

A+

Marco
 

Pièces jointes

  • Mémorisation de Fonctions dans une feuille.zip
    31.9 KB · Affichages: 32

ZDidier

XLDnaute Nouveau
Re : Double champ pour une même cellule

Merci Marco
Je vais regarder ça de plus près.

En effet, mon besoin concerne plusieurs cellules.
Du coup, j'ai eu le droit à des boucles infinie dans ma mis à jours...
En bidouillant, je m'en sors, mais ce n'est pas propre.

Ton exemple va me permettre de me perfectionner en tous cas.

@+
Didier
 

ZDidier

XLDnaute Nouveau
Re : Double champ pour une même cellule

Rien à dire Marco, ton script "Déchire"

Si j'avais un dernier truc à te demander, c'est comment mettre le commentaire en visible off, même lorsque tu passes le curseur de la souris sur la cellule....

@+
Didier
 

Discussions similaires

Réponses
15
Affichages
515

Statistiques des forums

Discussions
312 488
Messages
2 088 858
Membres
103 978
dernier inscrit
bderradji