Erreur de syntaxe ou bien ???

Le
ThierryP
Bonjour à tou(te)s,

Je bute sur un truc, malheureusement récurrent chez moi, le
dimensionnement de certaines variables
Dans une plage nommée (Numeros), j'ai une liste de numéros ! A
chaque numéro correspond un onglet, dont le nom est précisément un
numéro de la iste. Je veux tester si une date choisie dans un récap
existe dans chaque onglet; si oui, je fais un traitement, sinon,
onglet suivant. Donc, je commence comme ça :

Sub Update()
Dim Onglet As Worksheet, Cellule As Range
Application.ScreenUpdating = False
Date_Cherchee = Sheets("Summary").Range("A65000").End(xlUp)
While Sheets("Summary").Range(ActiveCell.Address) <> "$A$3"
For Each Cellule In Sheets("Summary").Range("Numeros")
Set Onglet = ThisWorkbook.Worksheets(Cellule.Value) >
magnifique erreur 9 "L'indice n'appartient.."

Où est l'erreur ??

Merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #23193811
bonjour Thierry,

si tu veux faire référence à la date qui est dans derniere cellule, remplace

Date_Cherchee = Sheets("Summary").Range("A65000").End(xlUp)

par

Date_Cherchee = Sheets("Summary").Range("A"& Sheets("Summary").Range("A65000").End(xlUp))

isabelle




Le 2011-03-10 08:15, ThierryP a écrit :
Bonjour à tou(te)s,

Je bute sur un truc, malheureusement récurrent chez moi, le
dimensionnement de certaines variables...
Dans une plage nommée (Numeros), j'ai une liste de ...numéros ! A
chaque numéro correspond un onglet, dont le nom est précisément un
numéro de la iste. Je veux tester si une date choisie dans un récap
existe dans chaque onglet; si oui, je fais un traitement, sinon,
onglet suivant. Donc, je commence comme ça :

Sub Update()
Dim Onglet As Worksheet, Cellule As Range
Application.ScreenUpdating = False
Date_Cherchee = Sheets("Summary").Range("A65000").End(xlUp)
While Sheets("Summary").Range(ActiveCell.Address)<> "$A$3"
For Each Cellule In Sheets("Summary").Range("Numeros")
Set Onglet = ThisWorkbook.Worksheets(Cellule.Value) --------->
magnifique erreur 9 "L'indice n'appartient....."

Où est l'erreur ??

Merci d'avance

ThierryP
Le #23193921
Bonjour Isabelle,

Merci...mais non ! J'ai une erreur 1004 sur la ligne que tu me
proposes !
Mon problème se situe sur la ligne set Onglet =....
En fait, c'est ou le dimensionnement de la variable Cellule, ou la
syntaxe qui sont en cause,et j'ai déjà essayé
plusieurs trucs, qui n'ont rien donné ! Si j'écris par exemple : Set
onglet=thisworkbook.sheets("766"), pas de souci !
Si je regarde la valeur prise par Cellule, elle est bien égale à 766;
si je mets un espion sur Cellule, il me renvoie un type Variant /
Objet/Range
donc je sèche un peu ! La réponse est surement triviale, mais ...

Merci d'avance



On 10 mar, 17:22, isabelle
bonjour Thierry,

si tu veux faire r f rence la date qui est dans derniere cellule, remplac e

Date_Cherchee = Sheets("Summary").Range("A65000").End(xlUp)

par

Date_Cherchee = Sheets("Summary").Range("A"&  Sheets("Summary").Range ("A65000").End(xlUp))

isabelle

Le 2011-03-10 08:15, ThierryP a crit :

> Bonjour tou(te)s,

> Je bute sur un truc, malheureusement r current chez moi, le
> dimensionnement de certaines variables...
> Dans une plage nomm e (Numeros), j'ai une liste de ...num ros ! A
> chaque num ro correspond un onglet, dont le nom est pr cis ment un
> num ro de la iste. Je veux tester si une date choisie dans un r cap
> existe dans chaque onglet; si oui, je fais un traitement, sinon,
> onglet suivant. Donc, je commence comme a :

> Sub Update()
> Dim Onglet As Worksheet, Cellule As Range
> Application.ScreenUpdating = False
> Date_Cherchee = Sheets("Summary").Range("A65000").End(xlUp)
> While Sheets("Summary").Range(ActiveCell.Address)<>  "$A$3"
>      For Each Cellule In Sheets("Summary").Range("Numeros")
>          Set Onglet = ThisWorkbook.Worksheets(Cellule.Value ) --------->
> magnifique erreur 9 "L'indice n'appartient....."

> O est l'erreur ??

> Merci d'avance
isabelle
Le #23193991
bonjour Thierry,

essaie comme ça,

Set Onglet = ThisWorkbook.Worksheets(""& Cellule.Value)

isabelle



Le 2011-03-10 08:45, ThierryP a écrit :
Bonjour Isabelle,

Merci...mais non ! J'ai une erreur 1004 sur la ligne que tu me
proposes !
Mon problème se situe sur la ligne set Onglet =....
En fait, c'est ou le dimensionnement de la variable Cellule, ou la
syntaxe qui sont en cause,et j'ai déjà essayé
plusieurs trucs, qui n'ont rien donné ! Si j'écris par exemple : Set
onglet=thisworkbook.sheets("766"), pas de souci !
Si je regarde la valeur prise par Cellule, elle est bien égale à 766;
si je mets un espion sur Cellule, il me renvoie un type Variant /
Objet/Range
donc je sèche un peu ! La réponse est surement triviale, mais ...

Merci d'avance



On 10 mar, 17:22, isabelle
bonjour Thierry,

si tu veux faire r f rence la date qui est dans derniere cellule, remplace

Date_Cherchee = Sheets("Summary").Range("A65000").End(xlUp)

par

Date_Cherchee = Sheets("Summary").Range("A"& Sheets("Summary").Range("A65000").End(xlUp))

isabelle

Le 2011-03-10 08:15, ThierryP a crit :


Bonjour tou(te)s,




Je bute sur un truc, malheureusement r current chez moi, le
dimensionnement de certaines variables...
Dans une plage nomm e (Numeros), j'ai une liste de ...num ros ! A
chaque num ro correspond un onglet, dont le nom est pr cis ment un
num ro de la iste. Je veux tester si une date choisie dans un r cap
existe dans chaque onglet; si oui, je fais un traitement, sinon,
onglet suivant. Donc, je commence comme a :




Sub Update()
Dim Onglet As Worksheet, Cellule As Range
Application.ScreenUpdating = False
Date_Cherchee = Sheets("Summary").Range("A65000").End(xlUp)
While Sheets("Summary").Range(ActiveCell.Address)<> "$A$3"
For Each Cellule In Sheets("Summary").Range("Numeros")
Set Onglet = ThisWorkbook.Worksheets(Cellule.Value) --------->
magnifique erreur 9 "L'indice n'appartient....."




O est l'erreur ??




Merci d'avance







ThierryP
Le #23193981
Là, ça fonctionne, mais un bout d'explication serait le bienvenu !!

En tous cas, merci pour la rapidité du dépannage :-)))))

Thierry


On 10 mar, 17:53, isabelle
bonjour Thierry,

essaie comme a,

  Set Onglet = ThisWorkbook.Worksheets(""&  Cellule.Value)

isabelle

Le 2011-03-10 08:45, ThierryP a crit :

> Bonjour Isabelle,

> Merci...mais non ! J'ai une erreur 1004 sur la ligne que tu me
> proposes !
> Mon probl me se situe sur la ligne set Onglet =....
> En fait, c'est ou le dimensionnement de la variable Cellule, ou la
> syntaxe qui sont en cause,et j'ai d j essay
> plusieurs trucs, qui n'ont rien donn ! Si j' cris par exemple : Set
> onglet=thisworkbook.sheets("766"), pas de souci !
> Si je regarde la valeur prise par Cellule, elle est bien gale 766;
> si je mets un espion sur Cellule, il me renvoie un type Variant /
> Objet/Range
> donc je s che un peu ! La r ponse est surement triviale, mais ...

> Merci d'avance

> On 10 mar, 17:22, isabelle
>> bonjour Thierry,

>> si tu veux faire r f rence la date qui est dans derniere cellule, remp lace

>> Date_Cherchee = Sheets("Summary").Range("A65000").End(xlUp)

>> par

>> Date_Cherchee = Sheets("Summary").Range("A"&    Sheets("Summary" ).Range("A65000").End(xlUp))

>> isabelle

>> Le 2011-03-10 08:15, ThierryP a crit :

>>> Bonjour tou(te)s,

>>> Je bute sur un truc, malheureusement r current chez moi, le
>>> dimensionnement de certaines variables...
>>> Dans une plage nomm e (Numeros), j'ai une liste de ...num ros ! A
>>> chaque num ro correspond un onglet, dont le nom est pr cis ment un
>>> num ro de la iste. Je veux tester si une date choisie dans un r cap
>>> existe dans chaque onglet; si oui, je fais un traitement, sinon,
>>> onglet suivant. Donc, je commence comme a :

>>> Sub Update()
>>> Dim Onglet As Worksheet, Cellule As Range
>>> Application.ScreenUpdating = False
>>> Date_Cherchee = Sheets("Summary").Range("A65000").End(xlUp)
>>> While Sheets("Summary").Range(ActiveCell.Address)<>    "$A$3"
>>>       For Each Cellule In Sheets("Summary").Range("Numeros")
>>>           Set Onglet = ThisWorkbook.Worksheets(Cellule.Va lue) --------->
>>> magnifique erreur 9 "L'indice n'appartient....."

>>> O est l'erreur ??

>>> Merci d'avance
michdenis
Le #23193971
Bonjour,

Si tu veux avoir de l'aide, tu dois d'abord exprimer clairement ce que tu tentes de faire.
La publication du code ne remplace pas une bonne explication.


MichD
--------------------------------------------
isabelle
Le #23194051
bonjour Thierry,

tu as nommé les onglets par des chiffres mais la propriétée name d'un
onglet est un type de données String
en y ajoutant des guillemets la variable cellule est considérée comme
étant de type String

tu pourrais aussi utiliser la fonction de conversion de types de données
CStr

cellule = 1
Worksheets(CStr(cellule)).Activate

isabelle


Le 2011-03-10 08:58, ThierryP a écrit :
Là, ça fonctionne, mais un bout d'explication serait le bienvenu !!

En tous cas, merci pour la rapidité du dépannage :-)))))

Thierry


On 10 mar, 17:53, isabelle
bonjour Thierry,

essaie comme a,

Set Onglet = ThisWorkbook.Worksheets(""& Cellule.Value)

isabelle

Le 2011-03-10 08:45, ThierryP a crit :


Bonjour Isabelle,




Merci...mais non ! J'ai une erreur 1004 sur la ligne que tu me
proposes !
Mon probl me se situe sur la ligne set Onglet =....
En fait, c'est ou le dimensionnement de la variable Cellule, ou la
syntaxe qui sont en cause,et j'ai d j essay
plusieurs trucs, qui n'ont rien donn ! Si j' cris par exemple : Set
onglet=thisworkbook.sheets("766"), pas de souci !
Si je regarde la valeur prise par Cellule, elle est bien gale 766;
si je mets un espion sur Cellule, il me renvoie un type Variant /
Objet/Range
donc je s che un peu ! La r ponse est surement triviale, mais ...




Merci d'avance




On 10 mar, 17:22, isabelle



bonjour Thierry,






si tu veux faire r f rence la date qui est dans derniere cellule, remplace






Date_Cherchee = Sheets("Summary").Range("A65000").End(xlUp)






par






Date_Cherchee = Sheets("Summary").Range("A"& Sheets("Summary").Range("A65000").End(xlUp))






isabelle






Le 2011-03-10 08:15, ThierryP a crit :






Bonjour tou(te)s,








Je bute sur un truc, malheureusement r current chez moi, le
dimensionnement de certaines variables...
Dans une plage nomm e (Numeros), j'ai une liste de ...num ros ! A
chaque num ro correspond un onglet, dont le nom est pr cis ment un
num ro de la iste. Je veux tester si une date choisie dans un r cap
existe dans chaque onglet; si oui, je fais un traitement, sinon,
onglet suivant. Donc, je commence comme a :








Sub Update()
Dim Onglet As Worksheet, Cellule As Range
Application.ScreenUpdating = False
Date_Cherchee = Sheets("Summary").Range("A65000").End(xlUp)
While Sheets("Summary").Range(ActiveCell.Address)<> "$A$3"
For Each Cellule In Sheets("Summary").Range("Numeros")
Set Onglet = ThisWorkbook.Worksheets(Cellule.Value) --------->
magnifique erreur 9 "L'indice n'appartient....."








O est l'erreur ??








Merci d'avance










ThierryP
Le #23206761
Bonjour MichD,

désolé de ne pas avoir répondu plus tôt, mais petits soucis de
connexion......
Il me semblait que mon premier post était clair :-((((

ThierryP

On 10 mar, 15:00, "michdenis"
Bonjour,

Si tu veux avoir de l'aide, tu dois d'abord exprimer clairement ce que tu tentes de faire.
La publication du code ne remplace pas une bonne explication.

MichD
--------------------------------------------
ThierryP
Le #23206751
Bonjour Isabelle,

Un merci tardif vaut mieux que pas de merci du tout !!! (Pas de
connexion ces derniers jours).
J'essaierai de m'en souvenir !!

Merci

ThierryP

On 10 mar, 15:17, isabelle
bonjour Thierry,

tu as nommé les onglets par des chiffres mais la propriétée name d' un
onglet est un type de données String
en y ajoutant des guillemets la variable cellule est considérée comme
étant de type String

tu pourrais aussi utiliser la fonction de conversion de types de donnée s
CStr

cellule = 1
Worksheets(CStr(cellule)).Activate

isabelle

Le 2011-03-10 08:58, ThierryP a écrit :

> Là, ça fonctionne, mais un bout d'explication serait le bienvenu !!

> En tous cas, merci pour la rapidité du dépannage :-)))))

> Thierry

> On 10 mar, 17:53, isabelle
>> bonjour Thierry,

>> essaie comme a,

>>    Set Onglet = ThisWorkbook.Worksheets(""&    Cellule.Value )

>> isabelle

>> Le 2011-03-10 08:45, ThierryP a crit :

>>> Bonjour Isabelle,

>>> Merci...mais non ! J'ai une erreur 1004 sur la ligne que tu me
>>> proposes !
>>> Mon probl me se situe sur la ligne set Onglet =....
>>> En fait, c'est ou le dimensionnement de la variable Cellule, ou la
>>> syntaxe qui sont en cause,et j'ai d j essay
>>> plusieurs trucs, qui n'ont rien donn ! Si j' cris par exemple : Set
>>> onglet=thisworkbook.sheets("766"), pas de souci !
>>> Si je regarde la valeur prise par Cellule, elle est bien gale 766;
>>> si je mets un espion sur Cellule, il me renvoie un type Variant /
>>> Objet/Range
>>> donc je s che un peu ! La r ponse est surement triviale, mais ...

>>> Merci d'avance

>>> On 10 mar, 17:22, isabelle
>>>> bonjour Thierry,

>>>> si tu veux faire r f rence la date qui est dans derniere cellule, re mplace

>>>> Date_Cherchee = Sheets("Summary").Range("A65000").End(xlUp)

>>>> par

>>>> Date_Cherchee = Sheets("Summary").Range("A"&      Sheets("Su mmary").Range("A65000").End(xlUp))

>>>> isabelle

>>>> Le 2011-03-10 08:15, ThierryP a crit :

>>>>> Bonjour tou(te)s,

>>>>> Je bute sur un truc, malheureusement r current chez moi, le
>>>>> dimensionnement de certaines variables...
>>>>> Dans une plage nomm e (Numeros), j'ai une liste de ...num ros ! A
>>>>> chaque num ro correspond un onglet, dont le nom est pr cis ment un
>>>>> num ro de la iste. Je veux tester si une date choisie dans un r cap
>>>>> existe dans chaque onglet; si oui, je fais un traitement, sinon,
>>>>> onglet suivant. Donc, je commence comme a :

>>>>> Sub Update()
>>>>> Dim Onglet As Worksheet, Cellule As Range
>>>>> Application.ScreenUpdating = False
>>>>> Date_Cherchee = Sheets("Summary").Range("A65000").End(xlUp)
>>>>> While Sheets("Summary").Range(ActiveCell.Address)<>      "$A$ 3"
>>>>>        For Each Cellule In Sheets("Summary").Range("Numeros ")
>>>>>            Set Onglet = ThisWorkbook.Worksheets(Cellu le.Value) --------->
>>>>> magnifique erreur 9 "L'indice n'appartient....."

>>>>> O est l'erreur ??

>>>>> Merci d'avance
Publicité
Poster une réponse
Anonyme