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 :

nom feuille active [XL-2003]


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
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut nom feuille active
    Bonjour,
    Dans un classeur excel 2003, j'ai 10 feuilles.
    Je souhaite que le nom de la feuille active (de Feuil2 à Feuil10) soit reporter dans la Feuille 1 en G7
    La Feuil1 ne devant jamais être enregistrée comme feuille active.
    En espérant me faire bien comprendre.
    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub essai()
    Dim Sh As Worksheet
    Nom = ActiveSheet.Name
        Sheets("Feuil1").Select
        Cells(7, 7) = ActiveSheet.Name
        Set Sh = Nothing
    End Sub
    Mais ça écrit Feuil1 en Feuille 1
    Je vous remercie d'éclairer ma lanterne.

  2. #2
    Membre éclairé
    Homme Profil pro
    Chargé d'affaires commerciales
    Inscrit en
    Janvier 2018
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaires commerciales
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2018
    Messages : 62
    Par défaut
    Salut !

    Normal, tu affectes à une première variable le nom de ta feuille active puis tu ne l'utilises pas ... De plus, je ne vois pas à quoi te sert la variable sh, tu ne t'en sers pas dans ton code ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub essai()
    Dim Nom as String
     
    Nom = ActiveSheet.Name
    Sheets("Feuil1").Select
    Cells(7, 7) = Nom
     
    End Sub
    Si tu veux rajouter une condition pour que ta feuille 1 ne soit jamais inscrite dans ta cellule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub essai()
    Dim Nom as String
     
    Nom = ActiveSheet.Name
    if Nom = "Feuil1" then
    exit sub
    else
    Sheets("Feuil1").Select
    Cells(7, 7) = Nom
    end if
     
    End Sub
    En espérant avoir répondu à ton problème.

    Cdt,

    Matt

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Bonjour mattgui,
    Je te remercie vivement pour tes explications et ton code
    Ce n'est pas facile pour moi car je ne connais pas le vba

  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
    En plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub essai()
       If ActiveSheet.Name <> "Feuil1" Then Sheets("Feuil1").Range("G7") = ActiveSheet.Name
    End Sub

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    je le verrais plutôt dans un évènement du module ThisWorkbook :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
        If Sh.Name <> Feuil1.Name Then Feuil1.[G7].Value = Sh.Name
    End Sub
    ___________________________________________________________________________________________________________

         Merci de cliquer sur en bas à droite de chaque message ayant aidé …

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/05/2017, 01h55
  2. recupération des noms des feuilles actives dans un listbox
    Par phileurof dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/05/2012, 16h08
  3. nom de la feuille active
    Par potili2 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/06/2008, 05h32
  4. Keydown sans la feuille active
    Par ShortcutZ dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 26/10/2006, 15h02
  5. Rapidité Macro lié à la feuille active
    Par conconbrr dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/08/2006, 17h40

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