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 :

Variable String au lieu d'un nom de Feuille [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Variable String au lieu d'un nom de Feuille
    Bonjour à tous,

    j'utilise cette boucle afin d'éviter de répéter mon 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
    Dim LastLig As Long
    Dim i As Byte
    Application.ScreenUpdating = False
     
    With Sheets("VENTE")
       LastLig = .Cells(Rows.Count, "AJ").End(xlUp).Row
       With .Range("Q5")
          .AutoFilter
          .AutoFilter Field:=17, Criteria1:="Wave"
          .AutoFilter Field:=7, Criteria1:="EL01"
          .AutoFilter Field:=3, Criteria1:="1"
          .AutoFilter Field:=4, Criteria1:="2010"
       End With
       For i = 0 To 5
          .Range("E5").AutoFilter Field:=5, Criteria1:=i + 7
          Sheets("Elsa").Range("E32").Offset(0, i).Value = Application.Sum(.Range("T5:T" & LastLig).SpecialCells(xlCellTypeVisible))
       Next i
       .Range("E5").AutoFilter
    End With
    Par contre j'ai différentes valeurs à calculer pour le critère 17 et avec différentes feuilles.

    Donc au lieu de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("Elsa").Range("K244").Offset(0, i).Value = Application.Sum(.Range("T5:T" & LastLig).SpecialCells(xlCellTypeVisible))
       Next i
    j'aimerais pouvoir mettre une variable à la place du nom de la feuille pour m'éviter de le répéter tout le long.
    ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim s As String
    s = "Elsa"
    Sheets("s").Range
    etc..Mais le problème c'est que ça me sort toujours une erreur et que ça n'éxécute pas

    Comment peut-on remplacer le nom d'une feuille par une variable String ?

    Merci d'avance à tous pour votre aide

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    Salut à toi,
    la solution n'était pas loin de toi lorsque tu utilise une variable de type String pour le nom d'une feuille (ou pour autre chose), il ne faut pas mettre de guillemet quand tu l'appel.
    Tes quelques lignes :

    Dim s As String
    s = "Elsa"
    Sheets("s").Range

    doivent en faites donner :

    Dim s As String
    s = "Elsa"
    Sheets(s).Range

    Voilà en espérant que ça t'aide
    à bientôt

  3. #3
    Membre averti Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Points : 377
    Points
    377
    Par défaut
    ou


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim s As Worksheet
    Set s = Sheets("Elsa")
    s.range ...

  4. #4
    Futur Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup, un sacré temps de gagné grâce ton aide

    C'est vrai que c'était pas la question la plus compliquée mais je tournais en rond à tout essayer sauf ça...

    Encore merci

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

Discussions similaires

  1. Recuperer le nom d'une variable dans une variable String
    Par aliwassem dans le forum Langage
    Réponses: 11
    Dernier message: 23/10/2009, 13h38
  2. Réponses: 2
    Dernier message: 23/04/2009, 19h28
  3. Réponses: 9
    Dernier message: 11/03/2009, 15h26
  4. Réponses: 2
    Dernier message: 06/11/2007, 14h23
  5. Réponses: 10
    Dernier message: 06/09/2006, 10h01

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