macro ou formule copier valeur si cel précédente = : < formule dans le code

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Je bute encore sur un problème que je n'arrive pas à résoudre.
Je fais encore appel à vous.

Pour rappeler mes clients à bonnes dates, j'ai entré une formule :
=SI(H8="";"";SI(H8="A RAPPELER";AUJOURDHUI()+7;H8))

J'ai réussi à avancer sur mon problème mais il me reste un souci :

Il faudrait que la macro s'exécute après affectation (pas dès que je clique) dans la cellule (par exemple H8) automatiquement sans que je sois obligé de cliquer ailleurs et d'y revenir

Pourriez-vous m'aider ?
Je joins un classeur test.
Avec mes remerciements,
Je vous souhaite un bon WE à toutes et à tous,
Amicalement,
Lionel,
 

Pièces jointes

Dernière édition:
Re : macro ou formule copier valeur si cel précédente =

Bonjour,

une macro événementielle, à copier dans la feuille de code de la feuille Feuil1:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$H$8" Then
    If Target = "A RAPPELER" Then
        Target.Offset(0, 2) = Date + 7
    Else
        Target.Offset(0, 2) = Target
    End If
 End If
End Sub

Le choix "A RAPPELER" en H8 affiche la date du jour (en 'dur') +7 jours en J8
pour les autres choix J8 prend la valeur de H8

A+
 
Re : macro ou formule copier valeur si cel précédente =

Bonjour Paf,

Super merci pour ta réponse ça marche mais que pour la cellule H8 et j'ai besoin que cela fonctionne pour une plage de cellules, par exemple de H8:H19
Es-ce que c'est possible ?
Amicalement,
Lionel,
 
Re : macro ou formule copier valeur si cel précédente =

Bonjour arthour,


Code:
Private Sub Worksheet_Change(ByVal target As Range)
    If Not Intersect(target, Range("H8:H19")) Is Nothing Then
    Select Case target
    Case "FINI"
        Cells(target.Row, 10) = "FINI"
    Case "A RAPPELER"
        Cells(target.Row, 10) = Format(Date + 7, "dd/mm/yyyy")
    Case "TRANSFERT"
        Cells(target.Row, 10) = "TRANSFERT"
    Case Else
        Cells(target.Row, 10) = ""
    End Select
    End If
End Sub
à+
Philippe

Edit: Bonjour Paf
 
Re : macro ou formule copier valeur si cel précédente =

Bonjour Philippe,
Bon sang, ça marche super ... je ne comprends pas tout (j'en ai compris une partie LOL) mais ça marche.
Un grand merci pour votre aide.
Merci aussi à Paf bien sûr je garde son code aussi .... à adapter
Amicalement,
Lionel,
 
Re : macro ou formule copier valeur si cel précédente =

Re Paf,
Nom de d'là LOL, ça marche aussi super.
Merci pour votre gentillesse.
J'ai cherché des heures et vous, en un instant ..... rien ne s'invente le savoir prime.
Je suis comblé LOL,
Amicalement,
Lionel,
 
Re : macro ou formule copier valeur si cel précédente = : < formule dans le code

Bonjour Paf,
Bonjour Philippe ..... à toutes et à tous,

J'ai une formule à intégrer dans votre code et je viens de m'en apercevoir.
Après de multiples essais, je n'ai pas réussi l'intégration de ma formule.
Pourriez-vous encore m'aider ?
Voici les données de mon souci :

Formule à intégrer :
Code:
SI(ET(E6<>0;G6="");"TEL PIGE ?";SI(J6="";"N° Client ?";SI(K6="";"APPEL FAIT M ou AM ?";SI(O6="FAUX";"FAUX N° Client";SI(L6="";"DATE RAPPEL - RESULTAT";SI(ET(N6>0;N6+(7*Q6)<AUJOURDHUI()+8);"NBR APPELS";SI(L6<>"";"Client";"")))))))

Je joins un classeur et la feuille concernée est : Essai V1TC

Entre temps, je continue mes recherches LOL

Vous remerciant de votre gentillesse, je vous souhaite un très bon dimanche,
Amicalement,
Lionel,
 

Pièces jointes

Dernière édition:
Re : macro ou formule copier valeur si cel précédente = : < formule dans le code

Re,

J'ai une formule à intégrer dans votre code...

Tout ça n'est pas bien clair !

Qu'est ce qui va déclencher la macro ( une saisie, un choix dans une liste de validation...)? depuis quelle colonne ? quels sont les résultats attendus ? vers quelle colonne ?

A+

Edit: Il n'est pas recommandé de modifier le titre de la discussion en cours de route ! Sauf à y rajouter : Résolu
Mieux vaut continuer sur la même discussion sans en changer le titre , ou ouvrir une nouvelle discussion si les nouveaux soucis sont complètement différent.
 
Dernière édition:
Re : macro ou formule copier valeur si cel précédente = : < formule dans le code

Bonjour Paf,

Encore merci d'être là 🙂
Je suivrai votre conseil pour le fil à l'avenir.

Pour en venir à mon souci
:
ce que fait votre macro qui fonctionne bien :
- quand je clique dans la col L votre code s'exécute et affecte le résultat en N

Mon besoin en plus :
- avec le même clic (même cellule en L) que la macro tienne compte de la formule en Q pour également mettre le résultat "en valeur en Q" en fonction de la formule

Certainement pas facile à faire ....

J'espère que mon explication est compréhensible LOl

L'intérêt majeur que j'entrevois dans votre code :
Hormis le fait de mon présent besoin ...

J'ai des classeurs volumineux avec des nombres de feuilles et colonnes et de lignes très importants.
Tout ça représente d'innombrables cellules avec formules qui entraînent lourdeur et lenteur dans les actions.

Je pourrais adapter votre codes afin que je n'ai plus que des valeurs (à la place des formules) dans mes cellules.

Un grand merci de vous intéresser à nouveau à mon problème,
Amicalement,
Lionel,
 
Re : macro ou formule copier valeur si cel précédente = : < formule dans le code

re,

Mes questions

Qu'est ce qui va déclencher la macro ( une saisie, un choix dans une liste de validation...)? depuis quelle colonne ? quels sont les résultats attendus ? vers quelle colonne ?

Vos réponses

avec le même clic (même cellule en L) que la macro tienne compte de la formule en Q pour également mettre le résultat "en valeur en Q" en fonction de la formule

Ce que j'ai compris : c'est une modification en colonne L qui va déclencher l'action à entreprendre

Ce que je n'ai pas compris : le reste !! :

...que la macro tienne compte de la formule en Q : ça veut dire quoi tenir compte? pas facile de coder ça ! d'autant qu'en colonne Q il n'y a pas de formule !!

pour également mettre le résultat "en valeur en Q" en fonction de la formule :
- égalementsignifie qu'il y à autre chose à mettre, mais quoi ?
- pour mettre le résultat( ?), mais où ?
- selon ce que retourne la formule (laquelle ?) le résultat doit être quoi ?


A+
 
Re : macro ou formule copier valeur si cel précédente = : < formule dans le code

Re,

LOL, je suis désolé car je n'arrive pas à être clair.

J'ai fait "un truc" qui semble fonctionner mais il y a certainement beaucoup plus court.

J'ai "multiplié" votre code dans le code de la feuille et j'ai créé des macros exécutables avec votre code.

Je vous joins le classeur.

Voici ce qui se passe (c'est mon besoin) :
A chaque fois que je modifie en G - J - K - L (quel que soit l'ordre, la cellule en face en P se met à jour en m'indiquant ce qui manque

J'espère que ce sera plus clair avec l'exemple du classeur.

Merci pour votre patience 🙂
Amicalement,
Lionel,
 

Pièces jointes

Re : macro ou formule copier valeur si cel précédente = : < formule dans le code

Re,

Vous êtes sans doute le seul à savoir ce que vous voulez le faire, et comme vos précisions restent bien trop générales pour comprendre votre besoin, je ne tenterai pas de vérifier ou d'optimiser vos codes .

Bonne suite et bon courage.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour