Utilisation variable pr appelé une feuille

Résolu
Stef -  
choubaka Messages postés 5534 Date d'inscription   Statut Modérateur Dernière intervention   -
Saltu à tous,

Je bloque sur un truc dans ma mcaro, merci d'avance pour votre coup de main :

Après création d'une nouvelle feuille, un TextBox utilisateur récupère le nom que le user a saisit.
Ex : R00001

Comme ceci :
Sheets("Sheet1").Name = txtValeur.Value

Ensuite, je récupère TxtValeur dans une variable :
NoFEUIL = txtValeur.Value

Plus bas dans mon code, je dois sélectionner la feuille mais en utilisant la variable et pas le nom de la feuille:
Sheets(NoFEUIL).Select

Impossible de trouver le moyen de faire marcher cette commande, si qqun a une idée --> MERCI C COOL !!

Stef

4 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Tu es sur que t'as feuille s'appelle "Sheet1"?

    Si tu as excel en français je crois que c'est plutôt
    Sheets("Feuil1").Name = txtValeur.Value
    et avec ça tout va bien.
    0
  2. Stef
     
    Salut,
    Merci pour la réponse mais mon problème n'est tjr pas résolu.

    J'utilise Excel en anglais, c'est pourquoi le nom de ma feuille est "Sheet1".

    J'ai déjà renommer ma feuille avec le nom que l'utilisateur à saisi dans le texBox, donc pour la commande :
    Sheets("Sheet1").Name = txtValeur.Value
    (txtValeur est égale à R00001)

    Je met ensuite la R00001 dans une variable
    nomFEUIL = txtValeur.Value

    Pas de souci ça fonctionne.
    Donc le nom de ma feuille est égale à R00001 pas de souci.

    Mais plus bas dans ma macro, je veux selectionner la dite feuille
    en utilisant la variable nomFEUIL et pas directement la valeur "R00001" et c'est ça qui ne fonctionne pas.

    J'ai essayé ceci :
    Sheets(NomFEUIL).Select
    Sheets("Cstr(NomFEUIL)).Select


    Mais ça plante!!

    Merci d'avance à tous ceux qui aurainet une idée fumante :)

    Stef
    0
  3. choubaka Messages postés 5534 Date d'inscription   Statut Modérateur Dernière intervention   2 113
     
    salut

    j'ai plus ou moins la même macro que toi ...

    La "fameuse variable", je l'ai déclaré en début du module

    Dim CurrentMonth As String
    
    
    Sub DoUpDate()
    '
    
    
    
    
        .......
    
    
        
        CurrentMonth = "Jan"
        Call UpDatesheet


    ici j'ai mis volontairement "jan" en clair pour l'exemple ... Plus bas, il y a la fonction qui va utiliser la variable

    private sub UpDateSheet
    
    .......
    
    Sheets("Sheet1").Name = CurrentMonth
    Sheets(CurrentMonth).Select
        Range("A2").Select
        ActiveSheet.Paste
    
    ......
    End sub


    mais je pense qu'il est important de donner la valeur à ta variable avant de faire quoi que ce soit ...

    0
    1. Stef
       
      Salut Choubaka,

      Merci pour ta réponse ça m'apermit de comprendre le problème mais pas encore de le résoudre.

      En faite le mode d'utilisation des variable pour nommer et appeler les feuilles fonctionne bien. Merci encore c'est nickel!

      Un autre problème est soulevé :
      Ma varable NomFEUIL est définie par l'utilisateur dans un formulaire (Forms) et quand le formulaire est fermé, c'est le module2 de la macro qui continue.

      Comment passer la valeur de la variable NomFEUIL entre les ces deux modules ??
      Car j'ai vu que dans le module2 de ma macro, NomFEUIL est vide...

      Merci si tu as une idée
      Stef
      0
    2. choubaka Messages postés 5534 Date d'inscription   Statut Modérateur Dernière intervention   2 113
       
      rien ne t'empêche de créer une fonction publique dans tes modules prenant en argument la variable ... Cette fonction pourra être appelée par ton formulaire et pourrait par exemple mettre à jour la variable contenue dans le module...

      Public Sub UpdateNomFeuilleMod1( $nomFeuille As String)

      CurrentMonth = $nomFeuille

      End sub



      0
    3. Stef
       
      Salut,

      Nickel ça fonctionne au poil.

      MERCI
      Stef
      0
  4. choubaka Messages postés 5534 Date d'inscription   Statut Modérateur Dernière intervention   2 113
     
    ben voilà ... ;-)
    0