Copie automatique du résultat d'une fonction a un instant T

  • Initiateur de la discussion Initiateur de la discussion Alesk13
  • Date de début Date de début

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 !

Alesk13

XLDnaute Nouveau
Bonjour,

je vais commencer par tous vous remercier, car cela fait plus de 2 mois que je parcours quasiment quotidiennement votre Forum qui est la meilleur source d'aide Excel que l'on puisse trouver sur le Net, et qui plus est, le seul Forum qui ne brule pas les yeux a la lecture des messages (ie : pas de langages argo/SMS/CAPS/etc...), donc pour tout cela un GRAND MERCI et un GRAND BRAVO !

Voila je me suis décidé a m'inscrire et a poser une question car je n'ai pas réussi a trouver une réponse satisfaisante pour mon besoin.

Je vous explique, j'ai donc créé une feuille Excel, avec dedans un calcul automatique qui s’exécute en fonction du dernier résultat trouvé dans la colonne. Ce calcul fonctionne très bien, en revanche, j'ai un nouveau besoin, je m'explique, la valeur calculé par cette fonction est une moyenne qui est calculé selon les 10 dernières informations trouvés dans la colonne. Le souci c'est que je voudrais figer cette valeur de façon a pouvoir garder a l'instant T le résultat, et l'écrire dans une nouvelle cellule. J'ai besoin que ce calcul se fasse automatiquement.

Quelqu'un aurait-il la possibilité de m'aider a trouver cette fonction s'il vous plait ? J'ai regardé du coté de DECALER mais sans succès.

Merci par avance.

Amicalement,
Alex.
 
Re : Copie automatique du résultat d'une fonction a un instant T

Il te suffit d'utiliser une macro de ce genre à mettre dans le module de la feuille en question
Déclencher une macro en quittant une cellule
Essaye ce code,
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Sel As Range , B
b = ActiveCell.Value
Set Sel = Range("a1")
If Not Application.Intersect(Sel, Range(Target.Address)) Is Nothing Then
Range("a10").Value = b
End If
set sel=nothing
End Sub
Private Sub Worksheet_Deactivate()
Application.ScreenUpdating = True
End Sub
 
Re : Copie automatique du résultat d'une fonction a un instant T

Bonjour Flyonets44,

merci beaucoup pour ta réponse, j'ai essayé de créer une Macro, je ne l'avais jamais fait au paravent, mais ca ne marche pas, j'essaie depuis hier après-midi mais sans sucés. Merci quand même. C'est pour cette raison que je n'ai pas répondu avant j'essayais de trouver la raison, mais je n'y suis pas arrivé !

@Julberto, merci pour ta réponse, en regardant ton fichier j'ai trouvé une formule qui fait ce que j'ai besoin (en contournant mon problème original), ça semble parfait, sauf que j'ai un souci avec cette formule, en effet il y a des cellules de la colonne qui sont vides et résultat la formule ne marche plus, une idée pour faire la moyenne sur seulement les 10 dernière cellules, et ne comptait dans ces 10 dernières cellules seulement celle qui ont une valeur ?

La formule que j'ai "piqué" dans ton fichier est la suivante : =SI(NB(B5:B14)=10;MOYENNE(B5:B14);"")

Encore merci pour votre aide.

Amicalement,
Alex.
 
Dernière édition:
Re : Copie automatique du résultat d'une fonction a un instant T

Bonjour Alesk13, le forum,

Il va falloir attendre qu'un formuliste passe par là et s'intéresse au problème car je ne suis pas suffisamment solide en formules.
Comment faire la moyenne des 10 dernières valeurs non nulles d'une colonne ?

cordialement
 
Re : Copie automatique du résultat d'une fonction a un instant T

Bonjour a tous,

Très bien, merci beaucoup pour ton aide Julberto, c'est très gentil de ta part !

Si quelqu'un a la bienveillance et le temps de m'aider, j'en serais très heureux.

Un grand Merci d'avance.

Amicalement,
Alex.
 
Re : Copie automatique du résultat d'une fonction a un instant T

Un petit up histoire que quelqu'un me dise comment faire pour occulter des cellules vides des 10 dernières cellules !

Je suis sur que pour les grands Formulistes qu'il y a sur ce forum, cela n'est qu'une broutille !

Merci d'avance.

Amicalement,
Alex.
 
Re : Copie automatique du résultat d'une fonction a un instant T

Bonjour Alesk13,

Ce week end de 3 jours aura permis à beaucoup d'entre nous de faire une pose.
C'est sans doute la raison du manque de réponse à tes appels.
Si resté sans réponse ce soir ou demain, je te ferai alors une macro.

cordialement
 
Re : Copie automatique du résultat d'une fonction a un instant T

Bonjour Julberto,

merci, mais je pense que cela n’intéresse pas les formulistes, cela doit-être trop simple pour eux :'(

Si jamais tu as la possibilité de me faire une Macro je suis preneur, mais en revanche je n'en ai jamais utilisé, donc je ne sais pas comment la "rentrer" ?!

Merci par avance.
Cordialement,
Alex.
 
Re : Copie automatique du résultat d'une fonction a un instant T

Bonjour Alesk13,

Cette macro est utilisable quand ta liste de données est établie.
En modifiant la variable argument de la macro tu peux calculer une moyenne sur une autre valeur que 10.
VB:
Sub MoyenneFigée()

Dim maZone, maZon2(), c&, i&, k&, j&, argument%

argument = 10   'nombre d'éléments pris en considération dans la moyenne
Application.ScreenUpdating = False
With Worksheets("Feuil1")

' Les éléments à prendre en compte sont colonnes A et B
    c = WorksheetFunction.Max(.Range("A65500").End(xlUp).Row, .Range("B65500").End(xlUp).Row)
    ReDim maZon2(1 To c, 1 To 3)
    maZone = .Range("A2:B" & c).Value   'regroupement des cellules dans un tableau
    
    For i = LBound(maZone, 1) To UBound(maZone, 1)
      If maZone(i, 2) <> 0 Then
        k = k + 1
        maZon2(k, 1) = maZone(i, 1)
        maZon2(k, 2) = maZone(i, 2)
        If k >= argument Then
          For j = k - argument + 1 To k
            maZon2(k, 3) = maZon2(k, 3) + maZon2(j, 2)
          Next j
            maZon2(k, 3) = maZon2(k, 3) / argument
        End If
      End If

    Next i
        'Transfère les éléments du tableau sur la feuille
.Range("F65000").End(xlUp).Offset(1, 0).Resize(UBound(maZon2, 1), UBound(maZon2, 2)) = maZon2

End With
Application.ScreenUpdating = True
End Sub
Si cela te convient et que tu n'arrives pas installer la macro -> fais nous signe.

Je suis en train de préparer une autre macro qui, celle-la, agira au fur et à mesure que tu rentres tes données.
Je ne sais quelque forme tu voulais.

cordialement
 

Pièces jointes

Re : Copie automatique du résultat d'une fonction a un instant T

Re !

Encore un énorme merci Julberto, en revanche, si je comprends bien cette macro ne prendra pas en compte les nouvelles valeurs entrées ? Si c'est le cas, et que tu veux bien et que tu as la gentillesse, je préférerais si possible que ce soit une macro qui s'actualise, car je rentre plusieurs fois par jours des données. Je sais que je suis exigent, et je suis conscient de la gentillesse que tu as en me faisant cette macro et je ne voudrais pas abuser de ton temps en plus de ta sympathie ! 🙁

Enfin si jamais tu peux/veux, je suis preneur ! encore un grand merci !

Cordialement,
Alex.
 
Re : Copie automatique du résultat d'une fonction a un instant T

Bonjour Alesk13,

Je te livre l'ébauche de mon projet. Il est en cours de finalisaion mais je n'ai pas le temps de m'en occuper d'ici demain.

Au final les colonnes C et D vont disparaitre.
La colonne A ne peut être renseignée qu'après la ligne dont le N° est inscrit en K1.
La colonne B peut être renseignée à partir de la ligne inscrite en K1.
Ces dérangements au final n'exiteront plus car je vais y inclure la macro "MoyenneFigée" précédemment envoyée.
En cas de souci dans l'usage de la feuille1, exécute la macro "zz".

Pardonne moi pour les délais trop longs entre 2 messages.

cordialement
 

Pièces jointes

- 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

Réponses
2
Affichages
147
Réponses
4
Affichages
85
Retour