Excel / VBA -> Créer des formule

Fermé
max - 5 nov. 2007 à 22:08
 xenedra - 13 avril 2012 à 15:57
Bonjour,
Un exemple simple pour expliquer ma demande:

en A1:1
en B1:2

en C1=A1+B1

Je ne verrouille aucune cellule ( je masque la formule dans C1)
Je souhaite que la personne qui rempli la feuille puisse forcer la valeur de C1 à 5 sans perdre la formule qui s'y trouve.
que quand elle efface la valeur 5 dans C1 la formule redevienne "active"
je sais, cela semble étrange mais j'en ai besoin pour pouvoir adapter les valeurs calculées dans certains cas.

1/ -> si cela n'est pas réalisable avec excel, est-ce qu'une macro pourrait m'aider?
2/ -> Est il possible de créer une formule pour c1 mais ailleurs qu'en C1 ( en D1 par exemple) qui dirait que si C1 est vide, alors sa valeur est égale à A1+B1

ma feuille qui est une feuille de calcul de temps couplée à une feuille remplie de données (ressources).
la feuille de calcul va chercher des données dans la feuille ressources. je souhaite laisser la possibilité de modifier les données ressources qui apparaissent dans la feuille de calcul pour des cas spécifiques. Cela sans effacer mes formules, en laissant possibilité de faire marche arrière.

J'espère que quelq'un a la solution.
Merci
Max
A voir également:

6 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
6 nov. 2007 à 09:48
bonjour

En fait la solution la plus simple à utiliser, consiste à faire saisir les rectifications en D1 et de mettre en C1 une formule =SI(D1="";A1+B1;D1)

Ce n'est pas possible par formule de valoriser une autre cellule et même si formule et valeurs sont des objets différents, ils ne peuvent être dissociés.

Il est possible de faire une macro pour remettre une formule si on efface la valeur mais en utilisation ce n'est pas judicieux car celui qui efface "5" et qui voit apparaître une autre valeur sans pouvoir l'effacer ne doit pas être bien à l'aise.
0
Merci pour la reponse.

comment serait la macro dans ce cas de figure? et ou la mettre (thisworkbook ou feuil1).
si il est possible de remettre la formule quand la cellule est vide ou quand on efface la valeur, ca pourrait me convenir pour la feuille que j ai faite.
l'utilisateur ne sera pas plus surpris que ça car la valeur dépend d'un choix fait dans une autre cellule.
lorsque aucun choix n'est fait, la cellule concernée par la macro doit rester vierge.

et rajouter une autre cellule pour les valeurs modifiées n'est pas possible pour cause de place sur la feuille à imprimer et clarté de la feuille

merci,

max
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
6 nov. 2007 à 19:30
bonjour

comment serait la macro dans ce cas de figure? et ou la mettre (thisworkbook ou feuil1).

Tu peux la mettre dans l'un ou l'autre mais je pense qu'il vaut mieux la mettre sur la feuille puisque c'est elle qui est concernée.

Je suis parti sur ton exemple : colonne 3 concernée et addition colonne 1 + colonne 2.
Tu adaptes en changeant la colonne et la formule à introduire.
Private Sub Worksheet_Change(ByVal sel As Range)
    If sel.Column = 3 And sel.Value = "" Then
        sel.FormulaR1C1 = "=RC[-1]+RC[-2]"
    End If
End Sub

Lorsque l'on saisi dans la colonne il ne se passe rien sauf si l'on efface ce qui existait car alors la formule est mise en place.
0
excellent!

merci c'est exactement ce que je veux faire.
reste à traduire mes formules qui sont bien plus complexes que l'exemple...

max
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
6 nov. 2007 à 21:42
bonjour

reste à traduire mes formules qui sont bien plus complexes que l'exemple...

Pas de traduction à faire : tu fais menu outils macro nouvelle macro

Puis ta tapes la formule qui doit être mise tu arrêtes l'enregistrement et tu récupères le code traduit en supprimant ton module créé.
0
Top, j'allais me casser la tête
je découvre vba, encore merci pour l'aide. Là ma feuille est ok.
0
Petite question: comment on valide une formule???
0