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 :

Incrémenter le nom des feuilles


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2012
    Messages : 121
    Par défaut Incrémenter le nom des feuilles
    Bonjour et bonne année à toute la communauté

    J'ai une petite question pour vous
    Dans une macro composé de 50 feuilles, j'ai besoin, pour chacune d'elles, de récupérer une information dans une cellule précise (J3) dans chaque feuille et de les nommer de cette manière

    J'ai donc créé une boucle afin d’incrémenter automatiquement mes noms de feuilles.... Mais j'ignore comment coder correctement cette partie

    Dans un module j'ai écrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Workbook_Open()
    Dim Nom As String
    Dim Feuille As Integer
    Dim i As Integer
     
    Feuille = 1
        For i = 0 To 50
                Nom = Feuil(Feuille).Range("J3")
               Feuil(Feuille).Name = Nom
            Feuille = Feuille + 1
        Next i
    End Sub
    Comme vous pouvez le constater, la partie du code "Feuil(Feuille)", n'est pas accepté par Excel

    Quoi faire

    Merci

  2. #2
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut Bjr
    Bonjour,
    Pour boucler sur chacune des feuilles de ton classeur et renommer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test()
     
    Dim ws As Worksheet
     
    For Each ws In Sheets
       ws.Name = ws.range(tacellule).value
     Next ws
     
     End Sub
    Non tester fait via mobile
    Attention à ne pas avoir de feuilles portant le même nom.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2012
    Messages : 121
    Par défaut
    Merci pour votre proposition. Mais le programme ne modifie aucun nom de feuille!!!

  4. #4
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut Re
    Vous avez bien modifier le (tacellule) par la cellule contenant le nom de la feuille ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2012
    Messages : 121
    Par défaut
    Citation Envoyé par mfoxy Voir le message
    Vous avez bien modifier le (tacellule) par la cellule contenant le nom de la feuille ?
    J'ai ajouté J3, soit l'emplacement de la cellule où se situe l'information désirée

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 165
    Billets dans le blog
    53
    Par défaut
    Bonjour mFoxy,
    Si je puis me permettre, il est preférable de parcourir la collection Worksheets au lieu de Sheets
    En effet Sheets représente la collection de toutes feuilles y compris Graphique et Macros alors que Worksheets est la collection des feuilles de calcul uniquement.

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim ws As Worksheet
     For Each ws In Worksheets
       ws.Name = ws.Range("B1").Value
     Next ws
    Si la boucle rencontre par exemple une feuille graphique une erreur sera détectée
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour mFoxy,
    Si je puis me permettre, il est preférable de parcourir la collection Worksheets au lieu de Sheets
    Bonjour Philippe,

    Je n'avais pas pris en considération le fait que la collection Sheets ne prenne pas en compte toutes les feuilles du classeur.

    Merci pour le rappel

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

Discussions similaires

  1. [AC-2016] Modifier le nom d'une page dans un onglet
    Par denisw95 dans le forum VBA Access
    Réponses: 4
    Dernier message: 26/07/2018, 21h48
  2. Réponses: 6
    Dernier message: 27/10/2015, 15h51
  3. Nom du serveur et nom de l'utilisateur dans macro-variables
    Par delph_le dans le forum Administration et Installation
    Réponses: 2
    Dernier message: 04/11/2014, 22h03
  4. Réponses: 5
    Dernier message: 05/05/2006, 09h40
  5. Changer le "Nom de l'image" dans l'onglet processu
    Par Thomas1434 dans le forum Windows
    Réponses: 1
    Dernier message: 24/02/2006, 04h07

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