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 :

insérer un onglet au nom variable dans une fonction sous VBA [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 22
    Points : 11
    Points
    11
    Par défaut insérer un onglet au nom variable dans une fonction sous VBA
    bonjour, je débute sur le forum et visiblement sur excel car cela fait 1 jour que je bute sur une formule sous VBA.

    J'utilise une fonction recherchev dans le fichier ci joint assez classiquement pour reprendre les informations d'une feuille vers une autre. Jusque là rien de bien méchant. Là ou cela se complique pour moi c'est que dans la fonction recherche v s'incrit le nom de l'onglet. Or mon onglet qui là s'appelle Feuil1 change de nom régulièrement. En effet il va changer de nom tous les jours avec la date du jour (bon cela c'est un détail). Du coup ma macro ne fonctionnera plus et je devrais changer dans ma macro le nom de la source. Ce qui annule l'effet bénéfique de ma macro...

    J'ai essayé les variables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        Dim OA As Worksheet 'déclare la variable OA (Onglet Actif)
        Dim OP As Worksheet 'déclare la variable OP (Onglet Précédent)
        Set OA = ActiveSheet
        Set OP = ActiveSheet.Previous
        Range("C2").Select
        ActiveCell.FormulaLocal = "=Recherchev(A2;OP.name!$A$2:$C$7;3;0)"
    Mais cela ne fonctionne pas.

    Je suis sur qu'il y a un moyen de remplacer le nom de l'onglet pour ne pas avoir à le changer mais impossible de trouver. Si quelqu'un a une idée. J'avoue que je viens de passer la journée dessus et que je craque...

    Je précise que ma source est toujours l'onglet précédent

    Merci

    bonne journée
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonsoir Moukimouk, bonsoir le forum,

    Évite autant que tu le peux les Select inutiles qui ne vont que ralentir l'exécution du code et sont source de nombreux plantages. C'est la règle d'or !
    Ton code modifié :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim OA As Worksheet 'déclare la variable OA (Onglet Actif)
    Dim OP As Worksheet 'déclare la variable OP (Onglet Précédent)
     
    Set OA = ActiveSheet
    Set OP = ActiveSheet.Previous
    OA.Range("C2").FormulaLocal = "=Recherchev(A2;" & OP.Name & "!$A$2:$C$7;3;0)"

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Bonjour Thautheme.

    merci pour la correction et merci pour le conseil du select. Je vais tester et te dirais quoi. Je savais bien qu'il y avait une subtilité dans le OP Name mais quand on n'a jamais fait forcément.

    Si c'est résolu je mettrais résolu ce dont je ne doute pas

    Bon week-end.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    ça fonctionne au poil. Merci encore

    a bientôt

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/08/2016, 12h12
  2. [PHP 5.3] Insérer variables dans une fonction
    Par tony076076 dans le forum Langage
    Réponses: 9
    Dernier message: 23/07/2010, 16h06
  3. Changer nom de variable dans une fonction
    Par noquioz dans le forum Langage
    Réponses: 2
    Dernier message: 10/09/2009, 11h57
  4. Nom d'un formulaire variable dans une fonction
    Par vince07 dans le forum VBA Access
    Réponses: 3
    Dernier message: 01/05/2008, 14h30
  5. [AS2] déclarer des variables dans une fonction
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 12
    Dernier message: 02/08/2005, 13h50

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