Problème quand nom onglet numérique

apnart

XLDnaute Occasionnel
Bonjour,

J'au un soucis "bête" :mad:

J'ai un planning avec 1 onglet par année, qui s'appelle 2013 ou 2014 par exemple.

En VBA je veux faire du code qui va chercher des infos dans ces onglets en fonction d'une cellule dans laquelle je mets l'année à aller chercher, et ça ne fonctionne pas :mad:

Par contre, si je nomme l'onglet avec une lettre en plus (par exemple P2013), et que je mets P2013 dans ma cellule de recherche, là, ça fonctionne :eek:

Mon excel est un peu "gros" pour le mettre ici... mais voici la ligne qui pose problème :
Code:
LecturePlanning = Sheets(AnnéePlanning).Cells(X, PosWeekCol).Value

Si à la place de "AnnéePlanning" je mets à la main "2013" (avec les guillemets) et que l'onglet est 2013, ça fonctionne.

Si je défini la valeur par le code suivant en mettant uniquement 2013 en A1, ça ne fonctionne pas
Code:
AnnéePlanning = Sheets("Formulaire").Range("A1").Value

Si je nomme l'onglet P2013 et que je mets P2013 en A1, le 1er code fonctionne très bien.

J'sais pas si je suis bien clair... pour récapituler, si mon onglet est uniquement numérique, la macro plante, sinon elle fonctionne.

Il y a une façon particulière de déclarer un onglet numérique ?

Des idées ?
 

Paritec

XLDnaute Barbatruc
Re : Problème quand nom onglet numérique

Bonsoir Apnart le forum
si ta valeur est "2003" c'est que ta cellule est au format standard, tu dois avoir une petite coche verte en haut à gauche tu écris comme ci dessous et ce sera bon
a+
Papou:eek:

Code:
LecturePlanning = cdbl(Sheets(AnnéePlanning).Cells(X, PosWeekCol))
 
G

Guest

Guest
Re : Problème quand nom onglet numérique

Bonjour,

Si tu n'as pas déclaré ta variable 'AnnéePlanning' en type String il faut une conversion explicite.

LecturePlanning = Sheets(Cstr(AnnéePlanning)).Cells(X, PosWeekCol).Value

A+

[edit] visiblement j'ai pas compris la même chose que mes petits camarades. Il me semblait que c'était le nom de la feuille contenu dans la variable AnnéePlanning qui posait problème.

Bref je suis toujours un fervent adepte du Option Explicit.
 
Dernière modification par un modérateur:

apnart

XLDnaute Occasionnel
Re : Problème quand nom onglet numérique

La réponse d'Hasco fonctionne impec, merci beaucoup

J'avais pourtant déclaré comme suit :
Code:
Dim AnnéePlanning, WeekPlanning, LectureGroupe, LectureWeek, LecturePlanning As String

Pour paritec, ça n'a pas marché :(


Je vais creuser le "CSTR" pour comprendre comment ça marche.

Merci encore
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Problème quand nom onglet numérique

Bonjour.
grave erreur alors ?
Oui. Mais très courante. Les gens essayent et voient que ça n'entraine ni erreur de syntaxe ni différence évidente à l'exécution, et en déduisent que c'est tout naturellement interprété exactement tel qu'ils l'auraient très très très vivement souhaité.
En fait on peut reprocher aux concepteur du langage de n'avoir pas prévu un moyen d'attribuer les mêmes caractéristiques à plusieurs variables, au moins en les spécifiant entre parenthèses séparés par des virgules. Il y a bien le suffixe de type à mettre derrière le nom qui permet quand même des déclarations plus courtes, mais malheureusement l'éditeur ne permet pas de les afficher dans une couleur différente qui leur serait spécifique, de sorte qu'ils gênent trop à mon gout leur repérage parmi les déclarations.
 

Discussions similaires

Statistiques des forums

Discussions
312 238
Messages
2 086 492
Membres
103 234
dernier inscrit
matteo75654548