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 :

Ecrasement d'une formule [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juillet 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2018
    Messages : 50
    Par défaut Ecrasement d'une formule
    Bonjours,

    Je vous soumets mon problème :
    J’ai une feuille TEST dans mon classeur RETOUR, cette feuille contient au niveau de la colonne D2 une formule (=Montant !C2)
    Cette formule va me chercher l’information dans la feuille Montant au niveau de la cellule C.
    J’ai une macro en VBA qui me supprime ma feuille Montant et me la recharge et quand je regarde ma feuille TEST la formule de départ est remplacer par (=#REF!)
    Avez-vous une solution pour que je garde ma formule de départ dans ma feuille TEST, après chargement de ma feuille Montant.

    Merci de votre aide ;
    Cordialement.
    MamaB

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

    Il faut ajouter dans la macro, après la recharge de la feuille MONTANT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets("TEST").range("D2")=sheets("MONTANT").range("C2")

  3. #3
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Pour conserver la formule, en toute fin de ta macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("TEST").Range("D2").FormulaLocal = "=Montant!C2"

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par MamaB Voir le message
    Avez-vous une solution pour que je garde ma formule de départ dans ma feuille TEST, après chargement de ma feuille Montant.
    Première solution : ne pas supprimer la feuille Montant mais modifier son contenu.

    Seconde solution qui répond plus précisément à ta question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim FormuleD2 As String
     
    FormuleD2 = Worksheets("TEST").Range("D2").Formula
     
    ... traitement de la feuille Montant avec mise en vrac de la formule ...
     
    Worksheets("TEST").Range("D2").Formula = FormuleD2

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    ou sans VBA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDIRECT("Montant!C2")
    le #REF! disparaitra lorsque la feuille sera recrée.
    eric

  6. #6
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juillet 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2018
    Messages : 50
    Par défaut
    Citation Envoyé par eriiic Voir le message
    Bonjour,

    ou sans VBA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDIRECT("Montant!C2")
    le #REF! disparaitra lorsque la feuille sera recrée.
    eric
    Bonjour Eric,
    Ce que tu me propose me convient, ça évite du code VBA.
    J’ai une question par rapport à ta formule, peut-ton mettre en place une incrémentation sur C2, jusqu’à C34 ?
    Merci de ton retour.
    Cordialement.
    MamaB

  7. #7
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Je vais répondre à la place d'Eric (salutations) :
    Oui !

    =INDIRECT("Montant!C"&LIGNE($C2))

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par pijaku Voir le message
    =INDIRECT("Montant!C"&LIGNE($C2))
    Je ne comprends pas la raison du "$" ?...

    Autre solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDIRECT("Montant!"&CELLULE("adresse";C2))

  9. #9
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juillet 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2018
    Messages : 50
    Par défaut
    Citation Envoyé par pijaku Voir le message
    Bonjour,

    Je vais répondre à la place d'Eric (salutations) :
    Oui !

    =INDIRECT("Montant!C"&LIGNE($C2))
    Merci de votre collaboration pour résoudre mon problème et merci à Eric et Franck.
    Cordialement
    MamaB

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/12/2016, 12h02
  2. Réponses: 6
    Dernier message: 18/01/2005, 16h24
  3. Déterminer Algo pour une formule mathématique
    Par jekyll_omiwane dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 07/01/2005, 18h28
  4. Mauvais résultat aprés une formule de calcul complexe
    Par poufouille dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/12/2004, 00h12
  5. problème de guillemets dans une formule shell
    Par dim_italia dans le forum VBA Access
    Réponses: 7
    Dernier message: 18/08/2003, 12h46

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