effacer valeur

  • Initiateur de la discussion Michel
  • Date de début
M

Michel

Guest
Bonsoir à tous,

Comme je sais que vous êtes très capable en vba je m'autorise à vous poser encore une question.

Comment faire pour effacer une valeur dans une cellule qui contient une formule sans effacer la formule ?

J'ai utiliser ClearContents, mais la formule a été effacé.
Que faut-il mettre pour que la formule reste et la valeur affiché s'efface par une macro;
En bref que mettre à la palce de ClearContents

Merci d'avance pour la réponse

A très bientôt

Michel
 
D

Dan

Guest
Bonsoir,

ben je ne vois qu'une solution en VBA. Tu utilise "Clearcontents" pour supprimer le contenu de ta cellule puis à l'instruction suivante tu replaces ta formule.

Sub supprimer()
Clearcontents
ActiveCell.FormulaR1C1 = "ta formule"
End Sub

Est-ce que cela répond à ta question ?

@+

Da
 
M

mDF

Guest
Bonsoir Michel, bonsoir Dan,


Je suis curieux de nature... (oui, je sais, c'est un vilain défaut !).

Michel, elle sert à quoi ta formule ?
La valeur dans la cellule c'est pas le résultat de la dite formule ?

Dans l'affirmative, je ne vois pas comment on pourrait "supprimer" le résultat sans toucher au calcul.

Dans la négative, je n'ai pour ma part, jamais vu une formule dans une cellule et une valeur dans la même cellule n'ayant aucun lien entre elles.

Ou alors, j'ai rien compris à l'affaire et je tape en touche...

Didier
 
M

Michel

Guest
Merci pour ton idée Dan,

Toutefois j'ai un problème lorsque je veux appliquer la formule qui est la suivante : SI(Réf2="";"";(RECHERCHEV(Réf2;Articles;2;FAUX)))

En effet ça coince au niveau du ; qui est une erreur.

Comment écrire la formule pour qu'elle soit acceptée ?

Réf2 est une cellule avec liste pour sélectionner le produits
Articles est bien entendu la table

Il serait peut-être plus simple de remplir mes lignes d'une manière diférente

Mais comment

Merci à toute âme charitables qui voudra bien m'aider.

Michel
 
D

Dan

Guest
Bonjour,

Essaie en remplaçant dans ta formule les signe ";" par ","

N'oublies pas aussi l'enregistreur automatique de macro. cela peut te servir lors de l'encodage de ta formule.

Si pb n'hésite pas

@+

Dan
 
M

Michel

Guest
Merci à Dan,

Je rappelle la fonction : SI(Réf2="";"";(RECHERCHEV(Réf2;Articles;2;FAUX)))

Qui devient : SI(Réf2="","",(RECHERCHEV(Réf2,Articles,2,FAUX))) et cela passe au niveau des " , " mais bloque au niveau de " RECHERCHEV " en "Sub ou Fonction non définie ".
Comment remplacer cette fonction ?

merci pour toute réponse

Michel
 
M

Michel

Guest
Merci de ton aide Dan,

J'ai fait les modifs, mais il revient sur vlookup en signalant comme avec recherchev "Sub ou Fonction non définie ".

vba serait-il réfractaire aux recherches

Merci s'il est possible de réparer cela

Michel
 
D

Dan

Guest
Michel,

Bizarre !
Pourrais-tu placer ta macro ici ou un fichier exemple afin que je regarde ce qu'il se passe.

Vérifies aussi dans VBA via ALT + F11 / menu / outils / références. Les options suivantes devraient être cochées :

- Microsoft excel 9.0 object library
- Microsoft office 9.0 object library
- Visual basic for applications

Dans l'attente de te lire

@+

Dan
 
M

Michel

Guest
Merci Dan pour toute ton aide.

J'ai réuissi à résoudre mon problème.

il fallait écrire la formule ainsi :
IF(Ref2="""","""",(VLOOKUP(Ref2,Articles,2,FALSE)))"

Ca marche maintenant.

Concernant ton dernier message j'ai vérifié dans les références, j'ai les trois options de cocher avec la versions 10 au lieu de 9

Je te remercie toi et ceux qui m'ont répondus pour votre intérêt et votre patience.

Michel
 
D

Dan

Guest
Re,

pas de quoi Michel c'est avec plaisir

Oui en macro faut pas oublier les "". Je pensais que tu l'avais écrit correctement. Enfin cela fonctionne et c'est le principal.

Bonne soirée et nuit

@+

Dan
 

Discussions similaires

Réponses
6
Affichages
212

Statistiques des forums

Discussions
312 492
Messages
2 088 936
Membres
103 987
dernier inscrit
Doctami