XL pour MAC MFC + Fonction effacées si saisie manuelle

pilou010

XLDnaute Occasionnel
Bonjour,
Pour la réalisation d'un tableau, j'ai créer une MFC et insérer une fonction dans les cellules. Impeccable cela fonctionne bien.
Par contre dans les cellules ou la MFC et la fonction ne s'appliquent pas, je saisie une valeur manuellement ce qui bien sûr écrase la fonction.
Par contre si je suis amené à re modifier cette valeur, la fonction n'est plus là...
Je joins un fichier exemple.
Merci par avance
Pilou
 

Pièces jointes

  • Classeur1.xlsx
    12.7 KB · Affichages: 8

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Pilou, R@chid,
Par contre dans les cellules ou la MFC et la fonction ne s'appliquent pas, je saisie une valeur manuellement ce qui bien sûr écrase la fonction. Par contre si je suis amené à re modifier cette valeur, la fonction n'est plus là...
Une fois la formule d'une cellule détruite par l'entrée d'une valeur, alors la formule est définitivement détruite. Et "la fonction n'est plus là"

Reste à savoir ce que vous attendiez comme comportement.
Une fois la formule détruite, vous entrez une valeur, ensuite vous voudriez que si cette cellule redevient vide la formule réapparaisse ?
Si c'est le cas cela peut être fait en VBA.
 

pilou010

XLDnaute Occasionnel
Bonjour,
Effectivement j'ai mal exprimé ce que j'attends comme résusltat...
Donc, la donnée "Autre 3" en E6 avec une valeur que je saisi manuellement en F6 peut être modifier en Item 10 ou 20. C'est dans ce cas que j'aimerais que la formule "réapparaisse".
Au départ je pensais le faire avec une MFC mais cela n'est pas possible (ou je ne connais pas la formule).
Est-ce possible en VBA ???
Merci de la prise en compte de ma question
Bien à vous
Pilou
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re, bonjour Patrick,
Un peu à labour, mais comme c'est fait ...
Un essai en PJ avec ce que j'ai compris:
1- En Colonne2 il y a une formule.
2- On peut "détruire" une de ces formules en entrant en colonne2 une valeur.
3- Si on efface une de ces valeurs entrées à la main alors on ré installe la formule avec ce code :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [Tableau2[Colonne2]]) Is Nothing Then
        Formule = "=IFERROR(IF(Tableau2[[#This Row],[Colonne1]]=""Item 20"",""Item2"",IF(Tableau2[[#This Row],[Colonne1]]=""Item 10"",""Item1"","""")),"""")"
        If Target = "" Then Range(Target.Address).Formula = Formule
    End If
Fin:
End Sub
Comme je n'ai que 2007 j'ai remplacé les IFS par plusieurs IF.
 

Pièces jointes

  • Classeur1 (2).xlsm
    17.1 KB · Affichages: 5

pilou010

XLDnaute Occasionnel
Bonsoir,
Vous êtes géniaux...
J'ai appliqué la solution de Dranreb et avoir avoir vu celle de Sylvanu je l'ai utiliser dans un autre tableau.
Merci encore de votre travail et de vos propositions.
Sans ce forum, mon tableur ne serait pas aussi élaborer...
Pilou
 

Dranreb

XLDnaute Barbatruc
Si ça vous intéresse, il serait aussi possible d'ajouter des mises en formes conditionnelles aux nouveaux éléments. Mais il me faudrait le nombre de couleurs différentes maximum que vous voudriez. Au delà de 8 il peut devenir difficile de les distinguer.
 

pilou010

XLDnaute Occasionnel
Si ça vous intéresse, il serait aussi possible d'ajouter des mises en formes conditionnelles aux nouveaux éléments. Mais il me faudrait le nombre de couleurs différentes maximum que vous voudriez. Au delà de 8 il peut devenir difficile de les distinguer.
Dans ce tableau je n'utilise que 2 couleurs pour 2 valeurs récurrentes... Mais je retiens la proposition !
Je reviendrai ici au besoin... Encore merci de votre aide 👏
 

Statistiques des forums

Discussions
314 628
Messages
2 111 336
Membres
111 104
dernier inscrit
JEMADA