Rechercher : dans
Par :

Utilisation variable pr appelé une feuille

Dernière réponse le 9 fév 2006 à 13:19:11 Stef, le 8 fév 2006 à 18:41:35 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Utilisation variable pr appelé une feuille » dans :
Le remplacement de variables en shell Bash Voir=Le remplacement de variables= Introduction Il peut s'avérer utile de s'assurer qu'une variable est bien définie avant de procéder à son remplacement, ou tout simplement de s'assurer que celle-ci n'est pas vide, et dans ce cas de l'initialiser avec...
[Bash] La variable d'environnement PATH VoirLa variable d'environnement PATH I. Préambule II. C'est quoi le shell ? III. Définition IV. Séance de dissection V. Ajouter un répertoire à la variable PATH VI. Et puis... I. Préambule Sous les systèmes GNU/Linux qu'on le veuille ou...
Guide d'utilisation du Shell pour débutant VoirSHELL BASH - GUIDE D'UTILISATION - Niveau Débutant Introduction Appel aux membres CCM II. C'est quoi le shell ? III. Comment accéder à la ligne de commande IV. Les consoles virtuelles Exemple : Accéder à la console 3 depuis l'interface...
Feuilles de style - CSS VoirPrésentation des feuilles de style Le concept de feuilles de style est apparu en 1996 avec la publication par le W3C d'une nouvelle recommandation intitulée « Cascading StyleSheets » (feuilles de style en cascade), notée CSS. Le principe des...
Tableur - Les feuilles de calcul VoirLa notion de feuille de calcul Un tableur présente les données et les formules sous forme d'un tableau (lignes et colonnes) appelé feuille de calcul. Une feuille de calcul est constitué de lignes (numérotées à l'aide de chiffres) et de colonnes...

1

lami20j, le 8 fév 2006 à 20:08:34

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.

Répondre à lami20j

2

Stef, le 9 fév 2006 à 09:04:13

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

Répondre à Stef

3

choubaka, le 9 fév 2006 à 11:32:05

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 ...

Chouba,
Pochard d'assaut .. 

Répondre à choubaka

4

Stef, le 9 fév 2006 à 12:07:21

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

Répondre à Stef

5

choubaka, le 9 fév 2006 à 12:26:12

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



Chouba,
Pochard d'assaut .. 

Répondre à choubaka

6

Stef, le 9 fév 2006 à 13:14:57

Salut,

Nickel ça fonctionne au poil.

MERCI
Stef

Répondre à Stef

7

 choubaka, le 9 fév 2006 à 13:19:11

Ben voilà ... ;-)
Chouba,
Pochard d'assaut .. 

Répondre à choubaka