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 :

Intégrer une formule en VBA [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2016
    Messages : 26
    Par défaut Intégrer une formule en VBA
    Bonjour à toutes et à tous,
    Je débute tout juste en programmation VBA, j'ai déjà lu quelques ressources (notamment celles proposées sur ce site).

    Vous vous en doutez, si j'ouvre cette discussion c'est parce que je bute sur une macro.

    Comment puis-je retranscrire en VBA la formule suivante sur la page active (qui est la dernière du classeur)

    D8 = 'Feuille précédente'!H18

    Pour le moment j'ai tenté (sans succès) ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub test()
     
    Worksheets(Worksheets.Count).Cells(8, 4) = Worksheets(Worksheets.Count - 1).Cells(18, 8)
     
    End Sub
    Je ne cherche pas à recopier la valeur, mais bien à obtenir en barre de formule de D8 " ='Feuille précédente'!H18"
    Le but étant qu'à chaque création d'un nouveau doublon de feuille la formule renvoie vers la feuille qui précède et non vers la première feuille créée
    (dites moi si ce n'est pas claire)


    Je vous remercie d'avance pour votre aide,
    Je vous souhaite une excellente journée.

    Greg

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    pour ecrire une formule on passe par la propriete Formula de l'objet Range().

    Ce qui donnera dans ton cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets(Worksheets.Count).Cells(8, 4).Formula = "='Feuille précédente'!H18"
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2016
    Messages : 26
    Par défaut
    Bonjour,
    merci pour ce retour,

    Ce qui me pose problème c'est qu'en recopiant texto votre code (il faut peut-être que je l'adapte) j’obtiens en barre de formule 'Feuille précédente'H18
    Or je souhaite que cela pointe sur la feuille précédente ( de façon dynamique)

    En faite ma macro me permet de générer 3 feuilles je veux que la formule de la troisième feuille soit liée a le 2nd
    mais si je réutilise la macro (je fais a nouveau +3 feuilles) je veux que la 6e soit liée a la 5e (et ainsi de suite)

    Comment faire ?

    Merci encore

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    La logique de feuille "precedente" c'est un sujet quelque peu complexe, car si tu changes l'ordre de tes feuilles par la suite, ca signifierait qu'on doive mettre a jour ?

    Tu peux recuperer le nom de la feuille "precedente" avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets(Worksheets.Count).Cells(8, 4).Formula = "='" & Worksheets(Worksheets.Count-1).Name & "'!H18"
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2016
    Messages : 26
    Par défaut
    OOH super c'est exactement ça !

    Un grand merci c'est tout ce que je voulais.

    Il me manquait l'astuce du "XXX" &...&"xxx"
    A retenir

    Bonne journée

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

Discussions similaires

  1. [VBA] Créer une variable avec VBA
    Par hiault dans le forum SDK
    Réponses: 3
    Dernier message: 21/09/2011, 13h55
  2. Enlever le filtre d'une feuille avec VBA
    Par ghosty04 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/02/2009, 14h08
  3. Renommer une feuille avec VBA
    Par pol1958 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/12/2008, 10h05
  4. protection d'une feuille avec vba
    Par hkpsyco dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/10/2007, 14h14

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