Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Erreur de syntaxe ou bien ???

8 réponses
Avatar
ThierryP
Bonjour =E0 tou(te)s,

Je bute sur un truc, malheureusement r=E9current chez moi, le
dimensionnement de certaines variables...
Dans une plage nomm=E9e (Numeros), j'ai une liste de ...num=E9ros ! A
chaque num=E9ro correspond un onglet, dont le nom est pr=E9cis=E9ment un
num=E9ro de la iste. Je veux tester si une date choisie dans un r=E9cap
existe dans chaque onglet; si oui, je fais un traitement, sinon,
onglet suivant. Donc, je commence comme =E7a :

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

O=F9 est l'erreur ??

Merci d'avance

8 réponses

Avatar
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

Avatar
ThierryP
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 wrote:
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
Avatar
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 wrote:

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







Avatar
ThierryP
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 wrote:
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  wrote:

>> 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
Avatar
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
--------------------------------------------
Avatar
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é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 wrote:

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 wrote:




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










Avatar
ThierryP
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" wrote:
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
--------------------------------------------
Avatar
ThierryP
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 wrote:
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  wrote:

>> 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    wrote:

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