Macro remplacant formule conditionnelle?
Fermé
aurelie91220
Messages postés
12
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
28 juillet 2014
-
23 juil. 2014 à 17:47
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 1 août 2014 à 08:36
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 1 août 2014 à 08:36
A voir également:
- Macro remplacant formule conditionnelle?
- Excel mise en forme conditionnelle formule - Guide
- Remplacant coco - Accueil - Réseaux sociaux
- Fermeture de Coco : les internautes à la recherche d'un remplaçant - Accueil - Réseaux sociaux
- Formule si et - Guide
- Formule excel pour additionner plusieurs cellules - Guide
4 réponses
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
28 juil. 2014 à 14:03
28 juil. 2014 à 14:03
Bonjour
il doit écrire dans cette cellule la date a laquelle il l'a fait. Cela sans écraser la formule qu'elle contient
Une cellule contient soit une formule, soit une valeur, mais pas les deux à la fois, et la modification de son contenu qu'elle provienne du clavier ou de vba écrase l'ancien contenu. J'ai bien peur que vba ne puisse contourner cette difficulté
Je ne sais pas ce qu'en pense pijaku que je salue au passage
Cdlmnt
il doit écrire dans cette cellule la date a laquelle il l'a fait. Cela sans écraser la formule qu'elle contient
Une cellule contient soit une formule, soit une valeur, mais pas les deux à la fois, et la modification de son contenu qu'elle provienne du clavier ou de vba écrase l'ancien contenu. J'ai bien peur que vba ne puisse contourner cette difficulté
Je ne sais pas ce qu'en pense pijaku que je salue au passage
Cdlmnt
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
24 juil. 2014 à 09:21
24 juil. 2014 à 09:21
Bonjour,
Pourquoi ne pas faire saisir la date en H5?
Pourquoi ne pas faire saisir la date en H5?
aurelie91220
Messages postés
12
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
28 juillet 2014
28 juil. 2014 à 13:52
28 juil. 2014 à 13:52
Bonjour Pijaku,
C'est une solution, mais au préalable je voudrais trouver quelque chose de plus automatique un peu basé sur la forme d'un formulaire...
Je ferais ça si je ne trouve pas de macro.
Merci quand même.
C'est une solution, mais au préalable je voudrais trouver quelque chose de plus automatique un peu basé sur la forme d'un formulaire...
Je ferais ça si je ne trouve pas de macro.
Merci quand même.
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
1 août 2014 à 08:36
1 août 2014 à 08:36
Bonjour,
Pas très orthodoxe ton truc mais bon, un essai.
A mettre dans le module de la feuille :
Fait sur les lignes 2 à 10.
La colonne E doit être une saisie (liste déroulante acceptée).
Pour éviter de perdre une donnée je n'efface jamais la date. Si l'utilisateur modifie E il faudra supprimer la date en G pour récupérer le libellé.
A la réflexion (maintenant que c'est fini), comme tu passes en vba pourquoi ne pas mettre directement le libellé plutôt qu'une formule ?
Ca aurait été plus simple.
https://www.cjoint.com/?DHba1QK7ImD
eric
Pas très orthodoxe ton truc mais bon, un essai.
A mettre dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range) Dim pl1 As Range, pl2 As Range, c As Range, lig As Long Set pl1 = [E2:E10] Set pl2 = [G2:G10] If Intersect(Target, Union(pl1, pl2)) Is Nothing Then Exit Sub Set pl1 = Intersect(Target.Offset(, 2), pl2) Set pl2 = Intersect(Target, pl2) If pl1 Is Nothing Then Set pl1 = pl2 ElseIf Not pl2 Is Nothing Then Set pl1 = Union(pl1, pl2) End If If pl1 Is Nothing Then Exit Sub For Each c In pl1 If Not IsDate(c) Then lig = c.Row Application.EnableEvents = False c.FormulaLocal = "=SI(E" & lig & "=""EN ATTENTE"";"""";SI(E" & lig & "=""OUI"";""PAS DE RELANCE"";SI(E" & lig & "=""NON"";""INSÉRER DATE RELANCE"";"""")))" Application.EnableEvents = True End If Next c End Sub
Fait sur les lignes 2 à 10.
La colonne E doit être une saisie (liste déroulante acceptée).
Pour éviter de perdre une donnée je n'efface jamais la date. Si l'utilisateur modifie E il faudra supprimer la date en G pour récupérer le libellé.
A la réflexion (maintenant que c'est fini), comme tu passes en vba pourquoi ne pas mettre directement le libellé plutôt qu'une formule ?
Ca aurait été plus simple.
https://www.cjoint.com/?DHba1QK7ImD
eric
28 juil. 2014 à 15:25
mon +1 répondrait-il à ta question?
28 juil. 2014 à 15:48
Quant au +1, merci, mais ça me parait beaucoup, 0.5 aurait largement suffi ;-)
Modifié par pijaku le 28/07/2014 à 15:57