Affichage inopportun de la formule !

Curieux d'Excel

XLDnaute Nouveau
Bonjour à tous,

Petit problème , petite solution ?
Voici: dans un fichier quelconque, lorsque j'introduis une formule avec une liaison vers une cellule d'un autre fichier (ex: "='feuille1'!$E$4) ... lorsque par après je modifie le "$4" en "$5" ... lorsque je valide la nouvelle formule, c'est cette dernière qui apparait dans la cellule et non la valeur de la cellule visée...
Pour solutionner, j'ai trouvé l'astuce suivante: dans format de cellule, je sélectionne "standard", j'édite la formule et je clique à l'intérieur et je valide.. alors seulement apparait la valeur désirée. c'est toutefois usant à la longue!
Note: je n'ai pourtant pas activé l'option affichage "formule" !!!
:confused:
Merci d'avance de votre avis.
 

Catrice

XLDnaute Barbatruc
Re : Affichage inopportun de la formule !

Bonjour,

La solution que tu utilises est pourtant la bonne.
Dans une cellule au format texte, la modification d'une formule laisse le contenu au format texte => pas d'evaluation de la formule mais son affichage dans la cellule.

Quel est l'intéret de formater cette cellule au format Texte ?
Pourquoi ne pas la laisser au format Standard ?
 

Curieux d'Excel

XLDnaute Nouveau
Re : Affichage inopportun de la formule !

J'oublie de préciser qu'au départ, cette cellule est en mode "texte" ... serait-ce là la raison du problème et si oui , le fait dans une feuille excel de remplacer toutes les cellules en mode texte en mode standard arrangerait-il mes ennuis ?
Merci.
 

Curieux d'Excel

XLDnaute Nouveau
Re : Affichage inopportun de la formule !

euh oui, j'y ai pensé, mais certaines doivent être en format date, d'autres en format texte (justement) et de ce fait, cela deviendrait gênant de toutes les mettre en standard...il me faudra j'ai bien peur ne transformer que celles que je vais devoir modifier..
merci
 

Catrice

XLDnaute Barbatruc
Re : Affichage inopportun de la formule !

Re,

Tu peux essayer cette macro qui va remplacer le format Texte par le format Standard sur les cellules qui contiennent un signe "=" et qui sont au format Texte :

Sub Test()
For Each X In Range(Range("A1"), Range("A1").SpecialCells(xlLastCell))
If X.NumberFormat = "@" And Left(X.Formula, 1) = "=" Then
X.NumberFormat = "General"
End If
Next
Cells.Replace What:="=", Replacement:="="
End Sub

Edit : Hello, Job75. La meme macro avec le remplacement de "=" par "=".
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Affichage inopportun de la formule !

Bonjour


Essaye cette macro


Code:
Sub testtt()
Dim cell As Range
For Each cell In Cells.SpecialCells(xlCellTypeFormulas)
If cell.HasFormula Then
cell.NumberFormat = "General"
End If
Next
End Sub
bonjour Catrice désolé pour la collision

PS: quelle différence de résultat entre ton code et le mien?
 

Catrice

XLDnaute Barbatruc
Re : Affichage inopportun de la formule !

Bonjour Staple1600,

Pour répondre à la question :
PS: quelle différence de résultat entre ton code et le mien?

A part le fait qu'il soit plus "tordu", mon code gere les cellules où une formule est restée coincée en format Texte ;)

En effet, un =Feuil1!B15 formaté en Texte (apres modification) n'est pas reconnu comme une formule.

Cela dit, cela doit normalement ne concerner qu'une seule cellule car l'utilisateur s'aperçoit immediatement du probleme :D

donc le Cells.SpecialCells(xlCellTypeFormulas).NumberFormat = "General" est sans doute ce qu'il y a de mieux dans ce cas.
 
Dernière édition:

Discussions similaires

Réponses
20
Affichages
1 K

Statistiques des forums

Discussions
312 489
Messages
2 088 848
Membres
103 974
dernier inscrit
chmikha