Rechercher : dans
Par :

[VBA] Sélection d'un onglet

Dernière réponse le 9 avr 2006 à 16:39:02 netman44, le 9 avr 2006 à 01:52:20 
 Signaler ce message aux modérateurs

Bonjour,

Voici mon problème sous VBA. Je fais sélectionner à un utilisateur le nom d'une commune de son choix dans une liste. Je voudrais ensuite afficher l'onglet correspondant à ce choix mais mes onglets sont nommés avec les codes postaux.

J'ai réussi à obtenir la variable CPOST qui contient bien le code postal de la commune sélectionnée par l'utilisateur mais la commande Sheets(CPOST).Select génère une erreur.
Supposons que le code postal en question soit 75001, la commande Sheets("75001").Select fonctionne mais pas la commande Sheets(CPOST).Select même si CPOST est bien égal à 75001.

Comment doit-on rédiger ce type de commande ?

Merci.

Netman

Meilleures réponses pour « [VBA] Sélection d'un onglet » dans :
[VBA] Fonction NB.SI_Plus VoirFonction NB.SI_Plus sans limitation Cette fonction "Plus" permet d'appliquer la fonction NB.SI sans que l'on soit limité au nombre de paramètres imposés par Excel. Introduction Le classeur Dans un module général Télécharger le...
Tableur - La sélection des cellules VoirSélection de cellules Le tableur est un formidable outil pour manipuler des données. Ainsi, pour pouvoir manipuler les données il est nécessaire de disposer d'outils permettant de sélectionner rapidement toutes les cellules dont on a...

1

lami20j, le 9 avr 2006 à 08:44:01

Salut,

Sheets("75001").Select fonctionne mais pas la commande Sheets(CPOST).Select même si CPOST est bien égal à 75001.

CPOST = 75001

Dans ce cas si 75001 est consideré comme un nombre ça ne marche pas puisque les feuilles peuvent être aussi appellée par leur index et je ne crois pas que tu as 75001 feuilles.

Donc quand tu fais Sheets(CPOST) en fait c'est la feuille numéro 75001 que ta macro cherche et pas Sheets("75001") qui est le nom de la feuille.
Il faut s'assurer que la CPOST est une chaîne sinon il faut la convertire.


Solution 1:

Dim CPOST as String ' on s'assure que le contenu est une chaîne pas un numéro
CPOST = 75001
Sheets(CPOST).Select
Solution 2

Dim CPOST 'Si la variable CP est autre chose que String
CPOST = 75001
Sheets(cstr(CPOST)).Select

Répondre à lami20j

2

 netman44, le 9 avr 2006 à 16:39:02
  • +2

Bonjour et merci beaucoup de votre réponse.

La définition de la variable CPOST en tant que chaîne (Dim CPOST as String) a permis de résoudre mon problème.

Netman

Répondre à netman44