IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

INDIRECT - actualiser si modification de la source [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 656
    Par défaut INDIRECT - actualiser si modification de la source
    Bonjour,

    Dans une feuille "cible", je récupère les valeurs de la feuille précédente par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function NomFeuilPrec() As String
        If Not ActiveSheet.Index = 1 Then NomFeuilPrec = Worksheets(ActiveSheet.Index - 1).name
    End Function
    et la formule :
    =INDIRECT("'"&NomFeuilPrec()&"'!L"&LIGNE(A7))
    Si je modifie une valeur de la feuille précédente, les formules de la feuille cible ne s'actualisent pas (sauf bien sûr en appuyant sur la touche F9)

    Question : Comment actualiser automatiquement les formules ? Faut-il ajouter une procédure Worksheet_Change(ByVal Target As Range) ? Et y ajouter DoEvents ??

    En vous remerciant par avance pour vos lumières,
    Cdt

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour jpma75

    Tu peux an ajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Function NomFeuilPrec()AsString
    Application.Volatile
    If Not ActiveSheet.Index = 1 Then NomFeuilPrec = Worksheets(ActiveSheet.Index - 1).name
     EndFunction
    J'espère qu'il n'y aura pas trop d'effets de bord

    A+

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 656
    Par défaut
    Bonjour Bruno,

    Merci pour ta proposition que j'ai appliquée mais qui (manifestement) n'actualise pas les formules.

    Cdt

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonsoir jpm475

    En fait, après test, il y a une grosse erreur dans la fonction initiale 🤔

    En effet, si sur la feuille 3 tu as une cellule avec ta fonction et que sur la feuille 2 tu fais une modification
    et bien la feuille calculée est la feuille 1 car la feuille active est la 2

    Voici donc un code qui fonctionnera parfaitement 😜
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function NomFeuilPrec() As String  Dim NomF As String
      ' Exécute la fonction lors de tout recalcul
      Application.Volatile
      ' Récupérer le nom de la feuille qui appelle la fonction
      NomF = Application.Caller.Worksheet.Name
      ' Déterminer la feuille précédente
      If Not ActiveSheet.Index = 1 Then NomFeuilPrec = Worksheets(Sheets(NomF).Index - 1).Name
    End Function
    A+

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 656
    Par défaut
    Bonsoir Bruno,

    Magnifique !!

    Merci beaucoup !

    Cdt
    jpma75

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Modification de la source d'un TCD
    Par Belegeorn dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/07/2007, 11h18
  2. Modification d'IP source
    Par BigBeni dans le forum Langage
    Réponses: 1
    Dernier message: 09/10/2006, 22h51
  3. modification de la source d'une image
    Par klimero dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 23/03/2006, 15h03
  4. [VBA] Modification de la source d'un état (report)
    Par gripoil dans le forum Access
    Réponses: 9
    Dernier message: 19/10/2005, 20h22
  5. erreur sur modification de la source d'un état
    Par Lou Pitchoun dans le forum Access
    Réponses: 1
    Dernier message: 07/10/2005, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo