[RESOLU]Entrer des valeurs dans une cellule ayant une formule

Ternoise

XLDnaute Occasionnel
Bonsoir le Forum

Est-il possible d’entrer des données dans une cellule ayant une formule sans pour autant supprimer la formule ! ?

Je m’explique

Un utilisateur valide dans un formulaire, en fin de journée, son horaire de travail.
Cette validation arrive dans une cellule (ex B17)

J’aimerais anticiper sur cet horaire de travail.

C’est à dire entrer dans la cellule une estimation du temps de travail et quand le salarié valide sa journée, son horaire, donc la formule soit pris en compte et donc mon estimation s’efface.

Actuellement, j’estime l’horaire dans une autre cellule (B22).

Dans une autre cellule (B27) je rentre un calcul simple =si(B17= ‘’ ;B22 ;B17)

Le but étant d’avoir qu’une cellule pour tout faire.

A savoir que c’est un exemple, mais en réalité, il y a 140 cellules dans un tableau.

Merci pour toutes pistes

Cordialement
David
 

Pièces jointes

  • Anticipation d'horaire.xls
    22.5 KB · Affichages: 74
Dernière édition:

Misange

XLDnaute Barbatruc
Re : Entrer des valeurs dans une cellule ayant une formule

Bonjour
la réponse est simple : non :
si tu entres une valeur dans une cellule qui contient une formule, tu écrases la formule et excel n'a aucun moyen de se souvenir de ce qu'elle contenait avant. La stratégie que tu utilises actuellement est donc la bonne à part qu'une cellule vide se note "" et non pas ‘’. Ce que tu peux faire au besoin c'est masquer la colonne contenant ta formule si ça t'arrange.
 

job75

XLDnaute Barbatruc
Re : Entrer des valeurs dans une cellule ayant une formule

Bonjour Ternoise, Misange,

Pourquoi entrer une formule puisque si l'on veut aussi pouvoir entrer une valeur il faut forcément du VBA ?

Placer dans le code de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If IsNumeric(CStr([B8])) And IsNumeric(CStr([C8])) Then [B17] = [C8] - [B8]
Application.EnableEvents = True
End Sub
- heures dans les 2 cellules B8 et C8 => B17 est calculée et ne peut pas être modifiée manuellement

- cellule vide en B8 et/ou C8 => on peut entrer ce qu'on veut en B17.

A+
 

Ternoise

XLDnaute Occasionnel
Re : Entrer des valeurs dans une cellule ayant une formule

Boujour Misange, Job75

Je me doutais bien qu'il fallait forcement passer par du VB. J'ai cru voir cela quelque part mais je retrouvais plus.

Job75 je vais tester cela.

Pour info, cela concerne le tableau du bas de la dernière discussion. Si j'avais anticipé ce problème avant !
Merci à vous deux
Cordialement
David
 

Ternoise

XLDnaute Occasionnel
Re : Entrer des valeurs dans une cellule ayant une formule

Bonjour le Forum, Misange, Job775

Bon je me doutais bien que j'allais avoir besoin de votre aide.
L'idée de Job75 est top mais pour une cellule. Pour un tableau c'est pas la même chose !

J'ai essayé de faire un méli-mélo de tout cela mais...

Alors en pièce jointe, mon rêve ! Mais je doute que ceci soit possible

Merci beaucoup à tous

David
 

Pièces jointes

  • Aniticipation d'horaire - Forum.xls
    154 KB · Affichages: 41

job75

XLDnaute Barbatruc
Re : Entrer des valeurs dans une cellule ayant une formule

Bonsoir Ternoise,

Ce n'est pas le fait que ce soit impossible, c'est que cela n'a pas de sens.

En effet, dans le fil précédent vous aviez des barres de défilement qui déterminent les dates en-têtes des tableaux.

Le simple fait d'activer ces barres modifie les dates et donc les tableaux : toutes les données précédentes sont écrasées.

A+
 

Ternoise

XLDnaute Occasionnel
Re : Entrer des valeurs dans une cellule ayant une formule

Bonsoir Job75 !

J'ai toujours ces barres.
J'ai juste mis un bouton pour simplifier ! Cette barre alimente juste la cellule C26.
Donc si ça fonctionne avec bouton, je l'installe sur la barre et/ou Worksheet_Activate() !!!
J'ai une drôle de logique !
 

Pièces jointes

  • Aniticipation d'horaire - Forum.xls
    159.5 KB · Affichages: 48
Dernière édition:

Ternoise

XLDnaute Occasionnel
Re : Entrer des valeurs dans une cellule ayant une formule

Re,

Ma logique est surement mauvaise mais quand mon projet "tourne" à merveille, en particulier grâce à vous :eek:, mon imagination déborde !

Donc, en utilisant ce projet tous les jours, je m'aperçois de chose à faire pour améliorer le quotidien.

Dans ce cas, j'utilise donc le tableau avec les formules.

J'ai créé le même tableau en dessous pour mettre l'anticipation.

Et un autre encore en dessous pour faire les totaux des 2.

Donc je me disais que cela simplifierait s'il y avait qu'un seul tableau !

Le problème...
Si j'utilise celui avec les formules, je ne peux pas remplir les cellules manuellement car cela écrase la formule.
Si j'utilise celui avec la macro, les cellules remplies manuellement sont effacées par la macro.

Je me disais donc, si on mets des conditions à la macro, cela pouvait peut être possible !
Encore faut il connaître le code pour créé ces conditions.
 

Ternoise

XLDnaute Occasionnel
Re : Entrer des valeurs dans une cellule ayant une formule

Re Job75, le Forum

Je reviens à l'attaque après avoir amélioré et résolu plusieurs problème.

Il m'en reste juste un et la je trouve pas de solution.

J'aimerais savoir comment modifier ce code afin que si cette macro ne trouve pas la date, laisser la cellule destination tel quel
Merci de votre aide

Sheets("DIRECTION").Range("B9:R" & Sheets("DIRECTION").[C65536].End(xlUp).Row).Name = "T"
With [C12].Resize([B42].End(xlUp).Row - 11, [Q11].End(xlToLeft).Column - 2)
.FormulaR1C1 = "=SUMPRODUCT((INDEX(T,,2)=RC2)*(INDEX(T,,3)=R11C),INDEX(T,,9)+INDEX(T,,10))" 'Coef + Spec
.Value = .Value 'supprime les formules
.Interior.Color = &HFF00&
End With
 

Pièces jointes

  • Anticipation d'horaire - Forum.xls
    240.5 KB · Affichages: 36

Discussions similaires

Statistiques des forums

Discussions
312 143
Messages
2 085 757
Membres
102 964
dernier inscrit
Juliopapadopulos