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 :

IsNumeric & nom de feuille [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Kaera
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 185
    Par défaut IsNumeric & nom de feuille
    Bonjour à tout le forum !

    Dans mon classeur, je souhaite très bêtement appliquer une mise en forme à certaines feuilles, plus particulièrement celles dont le nom est un chiffre/nombre.
    NB: ces feuilles ont été créées et nommées par macro.

    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Sub style_numbered_sheets()
    Dim sh As Worksheet
     
    Application.ScreenUpdating = False
     
        For Each sh In ThisWorkbook.Worksheets
            If IsNumeric(sh.Name) Then
                    sh.Activate
                    With ActiveWindow
                        .SplitRow = Range("A1").Row 
                        .FreezePanes = True
                    End With
                    Columns("A:G").Select
                    Selection.AutoFilter
                    Columns("C:D").EntireColumn.AutoFit
                    Columns("F:G").EntireColumn.AutoFit
            End If
        Next sh
     
    Application.ScreenUpdating = True      
    End Sub
    Ce que je ne comprends pas c'est que j'ai déjà utilisé cette méthode (celle du IsNumeric (sh.Name)) ; d'ailleurs, au sein de ce même classeur j'ai créé une petite macro qui supprime toute feuille dont le nom est un chiffre/nombre, hé bien j'ai justement utilisé IsNumeric(sh.Name) et ça fonctionne très bien !

    Je ne comprends pas.

    Merci d'avance pour votre aide !

    Kaera*

  2. #2
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Tu veux dire que ça ne rentre jamais dans le if ?

  3. #3
    Membre éclairé
    Avatar de Kaera
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 185
    Par défaut
    Salut ZerbreLoup,

    Excellent ton avatar !

    En effet, ça n'entre jamais dans le If.
    Et comme je l'ai dit, c'est vraiment étrange parce qu'au sein du même classeur j'utiliser exactement la même méthode mais pour supprimer (en gros il n'y a que le "then" qui change).

  4. #4
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Merci !

    Euh, pour info, la procédure qui efface toutes les feuilles qui ont un nom numérique n'est pas avant celle qui fait la mise en forme ? Dans ce cas, ce serait normal qu'il ne se passe rien !
    Question con je sais, mais on ne sait jamais...

    Sinon, en mode debug, tu as vérifié qu'il donnait False pour un IsNumeric(sh.Name) alors que le sh.Name ressemble à un numérique ? Il n'y a pas un espace ou un truc du genre quelque part ? Donne nous un exemple de nom qui ne fonctionne pas.

  5. #5
    Membre éclairé
    Avatar de Kaera
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 185
    Par défaut
    Euh, pour info, la procédure qui efface toutes les feuilles qui ont un nom numérique n'est pas avant celle qui fait la mise en forme ? Dans ce cas, ce serait normal qu'il ne se passe rien !
    Non non, c'est une procédure qui est lancée par bouton et c'est dans un autre module.

    J'ai été tête-en-l'air, comme d'habitude !
    J'ai oublié de préciser que j'ai testé le mode pas-à-pas avec un espion sur sh.Name (non il n'y a pas d'espace), en fait au lieu de prendre le nom donné à ma feuille (donc ici 1,2,3...), il récupère le nom "originel", c'est-à-dire Feuil90, Feuil112 etc.
    Du coup, fatalement, il ne va rentrer dans le If...
    Mais pourquoi dans cette procédure détecte-t-il le nom "originel" alors que dans l'autre ça fonctionne sans problème ?

  6. #6
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Effectivement, normalement ce que tu appelle le nom originel est donné par la propriété CodeName et non Name. C'est assez bizarre. Tu as un bout de classeur pour voir ?

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

Discussions similaires

  1. [VBA-E]Nom de feuille
    Par illight dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/09/2006, 16h42
  2. [VBA E] nom de feuille dans une combobox
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 20/06/2006, 19h53
  3. [VBA] nom de feuille en paramètre
    Par preverse dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/04/2006, 11h34
  4. [VBA-E] Verifier qu'un nom de feuille n'est pas utilisé
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/03/2006, 09h19
  5. Comment remplir un ComboBox avec le nom des feuilles Excel ?
    Par libracom dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 27/06/2005, 15h14

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