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 :

Créer une variable dont le nom change chaque semaine


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 75
    Par défaut Créer une variable dont le nom change chaque semaine
    Bonjour à tous
    Je reviens sur ce forum pour une petite question cette fois-ci !
    Ma macro est utilisée chaque semaine pour faire la même chose. Entre autre il s'agit de créer une feuille du type S##, pour la semaine en cours.
    Ma macro utilise la feuille de la semaine précédente, donc je peux connaître le nombre de la semaine précédente (genre je travaille avec la S29 et je veux créer une S30)

    Donc j'ai essayé le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim feuille As Worksheet
        For Each feuille In wbpre.Worksheets
            If feuille.Name Like "S##[,#]" Then
                Set wsprefin = feuille
            End If
        Next
        Set wsnextbrut = wbnext.Worksheets("Tickets et avis")
        Set wsnextfin = wbnext.Worksheets.Add(After:=wbnext.Worksheets(wbnext.Count))
            wsnextfin.Name = "S" + CStr(Val(Mid(wsprefin.Name, 2, Len(wsprefin.Name) - 1)) + 1)
    la dernière ligne ne passe pas, et je ne trouve pas d'idée pour prendre en compte le nombre d'avant, l'incrémenter et le passer en String.
    Vais-je devoir tout décomposer ligne par ligne ?
    J'attend vos idées !
    Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 75
    Par défaut
    J'ai trouvé !
    désolé pour ceux qui ont perdu du temps à cause de moi
    La formule en question n'était pas mauvaise donc si elle peut servir à d'autres
    L'erreur provenait d'au dessus, lorsque je cherche la feuille S##
    Par contre cela me pose question, pourquoi ne comprend-t-il pas "S##[,#]" comme "S##" Or "S##[,#]" ?

  3. #3
    Membre Expert 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
    Par défaut
    Bonjour MobyKDIK, bonjour le forum,

    Nos réponses se sont croisées donc je ne t'apporte pas la solution mais peut-être un code plus simple...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim feuille As Worksheet
    For Each feuille In wbpre.Worksheets
        If feuille.Name Like "S##[,#]" Then
            Set wsprefin = feuille
            Exit For
        End If
    Next
    num = CInt(Mid(wsprefin, 2)) + 1
    Set wsnextbrut = wbnext.Worksheets("Tickets et avis")
    Set wsnextfin = wbnext.Worksheets.Add(After:=wbnext.Worksheets(wbnext.Count))
    wsnextfin.Name = "S" + CStr(num)

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 75
    Par défaut
    Je te remercie ^^ Cela donne une autre façon de répondre à la 1ère question

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

Discussions similaires

  1. [DATA] Variable égale à une variable dont le nom change
    Par thiblight dans le forum SAS Base
    Réponses: 3
    Dernier message: 11/12/2012, 10h54
  2. Dans une boucle, créer une variable dont le nom dépend du compteur
    Par tapoutapou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/07/2010, 12h29
  3. Créer un variable dont le nom est une valeur de la base
    Par nicolas2603 dans le forum Langage
    Réponses: 3
    Dernier message: 25/09/2009, 09h45
  4. Réponses: 4
    Dernier message: 11/10/2007, 18h35
  5. Créer une table dont les noms de colonnes sont des paramètres
    Par Mythrandil dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 08/09/2007, 15h08

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