-----Message d'origine-----
Bonjour Cath;
Dim L, L1, L2, L3, L4, L5 As Range
L5 = Cells(F, "D").Value
Manifestement, L5 n'est pas une variable de type Range;
puisque pratiquement tout
est défini comme variant, tu n'es pas à une variable
près. Modifie:
Dim L, L1, L2, L3, L4, L5
MP
"Cath" a écrit dans
le message de
news:312501c42907$3ad7fd40$
Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L, Len
(L) -
1): C = C + 1
L = ""
End If
Next
End sub
.
-----Message d'origine-----
Bonjour Cath;
Dim L, L1, L2, L3, L4, L5 As Range
L5 = Cells(F, "D").Value
Manifestement, L5 n'est pas une variable de type Range;
puisque pratiquement tout
est défini comme variant, tu n'es pas à une variable
près. Modifie:
Dim L, L1, L2, L3, L4, L5
MP
"Cath" <anonymous@discussions.microsoft.com> a écrit dans
le message de
news:312501c42907$3ad7fd40$a601280a@phx.gbl...
Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L, Len
(L) -
1): C = C + 1
L = ""
End If
Next
End sub
.
-----Message d'origine-----
Bonjour Cath;
Dim L, L1, L2, L3, L4, L5 As Range
L5 = Cells(F, "D").Value
Manifestement, L5 n'est pas une variable de type Range;
puisque pratiquement tout
est défini comme variant, tu n'es pas à une variable
près. Modifie:
Dim L, L1, L2, L3, L4, L5
MP
"Cath" a écrit dans
le message de
news:312501c42907$3ad7fd40$
Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L, Len
(L) -
1): C = C + 1
L = ""
End If
Next
End sub
.
Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L, Len(L) -
1): C = C + 1
L = ""
End If
Next
End sub
Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L, Len(L) -
1): C = C + 1
L = ""
End If
Next
End sub
Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L, Len(L) -
1): C = C + 1
L = ""
End If
Next
End sub
-----Message d'origine-----
Bonjour,
Tu as pu être été trompé par des habitudes héritées
d'autres langages mais
la déclaration de variable en VBA et VB doit être
totalement complète.
Quand tu mets :
Dim L, L1, L2, L3, L4, L5 As Range
Tu déclares L, L1, L2, L3 et L4 comme variant (variable
par défaut sans
autre spécifications) et uniquement L5 comme range
Si tu veux tout déclarer comme range tu es obligé
d'écrire :
dim L as range, L1 as range, L2 as range, etc......
Mais dans ton cas tes variables ne peuvent pas être
déclarées comme range
car elles recoivent des valeurs (ce qu'une variable Range
ne peut pas) par :
L5 = Cells(F, "D").Value
Tu dois donc les déclarer plus explicitement comme
String, date, byte,
integer, etc... ou comme le suggérait Michel, ne rien
mettre (par parresse
;-) ) et laisser alors Excel définir la variable comme
variant.
Je te suggère de te reporter à l'aide ou à un bon livre
pour approfondir tes
infos sur les variables car c'est essentiel.
--
HTH
Paul V.
Cath wrote:Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L, Len
(L) -
1): C = C + 1
L = ""
End If
Next
End sub
.
-----Message d'origine-----
Bonjour,
Tu as pu être été trompé par des habitudes héritées
d'autres langages mais
la déclaration de variable en VBA et VB doit être
totalement complète.
Quand tu mets :
Dim L, L1, L2, L3, L4, L5 As Range
Tu déclares L, L1, L2, L3 et L4 comme variant (variable
par défaut sans
autre spécifications) et uniquement L5 comme range
Si tu veux tout déclarer comme range tu es obligé
d'écrire :
dim L as range, L1 as range, L2 as range, etc......
Mais dans ton cas tes variables ne peuvent pas être
déclarées comme range
car elles recoivent des valeurs (ce qu'une variable Range
ne peut pas) par :
L5 = Cells(F, "D").Value
Tu dois donc les déclarer plus explicitement comme
String, date, byte,
integer, etc... ou comme le suggérait Michel, ne rien
mettre (par parresse
;-) ) et laisser alors Excel définir la variable comme
variant.
Je te suggère de te reporter à l'aide ou à un bon livre
pour approfondir tes
infos sur les variables car c'est essentiel.
--
HTH
Paul V.
Cath wrote:
Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L, Len
(L) -
1): C = C + 1
L = ""
End If
Next
End sub
.
-----Message d'origine-----
Bonjour,
Tu as pu être été trompé par des habitudes héritées
d'autres langages mais
la déclaration de variable en VBA et VB doit être
totalement complète.
Quand tu mets :
Dim L, L1, L2, L3, L4, L5 As Range
Tu déclares L, L1, L2, L3 et L4 comme variant (variable
par défaut sans
autre spécifications) et uniquement L5 comme range
Si tu veux tout déclarer comme range tu es obligé
d'écrire :
dim L as range, L1 as range, L2 as range, etc......
Mais dans ton cas tes variables ne peuvent pas être
déclarées comme range
car elles recoivent des valeurs (ce qu'une variable Range
ne peut pas) par :
L5 = Cells(F, "D").Value
Tu dois donc les déclarer plus explicitement comme
String, date, byte,
integer, etc... ou comme le suggérait Michel, ne rien
mettre (par parresse
;-) ) et laisser alors Excel définir la variable comme
variant.
Je te suggère de te reporter à l'aide ou à un bon livre
pour approfondir tes
infos sur les variables car c'est essentiel.
--
HTH
Paul V.
Cath wrote:Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L, Len
(L) -
1): C = C + 1
L = ""
End If
Next
End sub
.
Bonjour,
Merci pour la réponse
Mais alors pourquoi en faisant ce programme en 2002, je
n'ai pas de souci de déclaration.
Et quand je veux l'utiliser en 2000, je suis bloquée.
J'ai essayé de ne rien mettre est là c'est tout qui ne
fonctionne plus.
Merci pour votre aide.-----Message d'origine-----
Bonjour,
Tu as pu être été trompé par des habitudes héritées d'autres
langages mais la déclaration de variable en VBA et VB doit être
totalement complète. Quand tu mets :
Dim L, L1, L2, L3, L4, L5 As Range
Tu déclares L, L1, L2, L3 et L4 comme variant (variable par défaut
sans autre spécifications) et uniquement L5 comme range
Si tu veux tout déclarer comme range tu es obligé d'écrire :
dim L as range, L1 as range, L2 as range, etc......
Mais dans ton cas tes variables ne peuvent pas être déclarées comme
range car elles recoivent des valeurs (ce qu'une variable Range ne
peut pas) par : L5 = Cells(F, "D").Value
Tu dois donc les déclarer plus explicitement comme String, date,
byte, integer, etc... ou comme le suggérait Michel, ne rien mettre
(par parresse ;-) ) et laisser alors Excel définir la variable comme
variant.
Je te suggère de te reporter à l'aide ou à un bon livre pour
approfondir tes infos sur les variables car c'est essentiel.
--
HTH
Paul V.
Cath wrote:Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L, Len (L) -
1): C = C + 1
L = ""
End If
Next
End sub
.
Bonjour,
Merci pour la réponse
Mais alors pourquoi en faisant ce programme en 2002, je
n'ai pas de souci de déclaration.
Et quand je veux l'utiliser en 2000, je suis bloquée.
J'ai essayé de ne rien mettre est là c'est tout qui ne
fonctionne plus.
Merci pour votre aide.
-----Message d'origine-----
Bonjour,
Tu as pu être été trompé par des habitudes héritées d'autres
langages mais la déclaration de variable en VBA et VB doit être
totalement complète. Quand tu mets :
Dim L, L1, L2, L3, L4, L5 As Range
Tu déclares L, L1, L2, L3 et L4 comme variant (variable par défaut
sans autre spécifications) et uniquement L5 comme range
Si tu veux tout déclarer comme range tu es obligé d'écrire :
dim L as range, L1 as range, L2 as range, etc......
Mais dans ton cas tes variables ne peuvent pas être déclarées comme
range car elles recoivent des valeurs (ce qu'une variable Range ne
peut pas) par : L5 = Cells(F, "D").Value
Tu dois donc les déclarer plus explicitement comme String, date,
byte, integer, etc... ou comme le suggérait Michel, ne rien mettre
(par parresse ;-) ) et laisser alors Excel définir la variable comme
variant.
Je te suggère de te reporter à l'aide ou à un bon livre pour
approfondir tes infos sur les variables car c'est essentiel.
--
HTH
Paul V.
Cath wrote:
Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L, Len (L) -
1): C = C + 1
L = ""
End If
Next
End sub
.
Bonjour,
Merci pour la réponse
Mais alors pourquoi en faisant ce programme en 2002, je
n'ai pas de souci de déclaration.
Et quand je veux l'utiliser en 2000, je suis bloquée.
J'ai essayé de ne rien mettre est là c'est tout qui ne
fonctionne plus.
Merci pour votre aide.-----Message d'origine-----
Bonjour,
Tu as pu être été trompé par des habitudes héritées d'autres
langages mais la déclaration de variable en VBA et VB doit être
totalement complète. Quand tu mets :
Dim L, L1, L2, L3, L4, L5 As Range
Tu déclares L, L1, L2, L3 et L4 comme variant (variable par défaut
sans autre spécifications) et uniquement L5 comme range
Si tu veux tout déclarer comme range tu es obligé d'écrire :
dim L as range, L1 as range, L2 as range, etc......
Mais dans ton cas tes variables ne peuvent pas être déclarées comme
range car elles recoivent des valeurs (ce qu'une variable Range ne
peut pas) par : L5 = Cells(F, "D").Value
Tu dois donc les déclarer plus explicitement comme String, date,
byte, integer, etc... ou comme le suggérait Michel, ne rien mettre
(par parresse ;-) ) et laisser alors Excel définir la variable comme
variant.
Je te suggère de te reporter à l'aide ou à un bon livre pour
approfondir tes infos sur les variables car c'est essentiel.
--
HTH
Paul V.
Cath wrote:Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L, Len (L) -
1): C = C + 1
L = ""
End If
Next
End sub
.
-----Message d'origine-----
Bonjour,
Je peux t'assurer que la procédure comme tu l'as mise sur
ce forum ne peut
pas fonctionner sur 2002. J'ai testé par simple
vérification mais je suis
formel. Même erreur en 2000 et en 2002.
Il doit y avoir une différence soit dans le code, soit
dans le niveau de
sécurité des macros.
Ou peut être avec l'option de déclaration explicite des
variables.
A toi de voir
--
HTH
Paul V.
wrote:Bonjour,
Merci pour la réponse
Mais alors pourquoi en faisant ce programme en 2002, je
n'ai pas de souci de déclaration.
Et quand je veux l'utiliser en 2000, je suis bloquée.
J'ai essayé de ne rien mettre est là c'est tout qui ne
fonctionne plus.
Merci pour votre aide.-----Message d'origine-----
Bonjour,
Tu as pu être été trompé par des habitudes héritées
d'autres
langages mais la déclaration de variable en VBA et VB
doit être
totalement complète. Quand tu mets :
Dim L, L1, L2, L3, L4, L5 As Range
Tu déclares L, L1, L2, L3 et L4 comme variant
(variable par défaut
sans autre spécifications) et uniquement L5 comme range
Si tu veux tout déclarer comme range tu es obligé
d'écrire :
dim L as range, L1 as range, L2 as range, etc......
Mais dans ton cas tes variables ne peuvent pas être
déclarées comme
range car elles recoivent des valeurs (ce qu'une
variable Range ne
peut pas) par : L5 = Cells(F, "D").Value
Tu dois donc les déclarer plus explicitement comme
String, date,
byte, integer, etc... ou comme le suggérait Michel, ne
rien mettre
(par parresse ;-) ) et laisser alors Excel définir la
variable comme
variant.
Je te suggère de te reporter à l'aide ou à un bon
livre pour
approfondir tes infos sur les variables car c'est
essentiel.
--
HTH
Paul V.
Cath wrote:Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L,
Len (L) -
1): C = C + 1
L = ""
End If
Next
End sub
.
.
-----Message d'origine-----
Bonjour,
Je peux t'assurer que la procédure comme tu l'as mise sur
ce forum ne peut
pas fonctionner sur 2002. J'ai testé par simple
vérification mais je suis
formel. Même erreur en 2000 et en 2002.
Il doit y avoir une différence soit dans le code, soit
dans le niveau de
sécurité des macros.
Ou peut être avec l'option de déclaration explicite des
variables.
A toi de voir
--
HTH
Paul V.
anonymous@discussions.microsoft.com wrote:
Bonjour,
Merci pour la réponse
Mais alors pourquoi en faisant ce programme en 2002, je
n'ai pas de souci de déclaration.
Et quand je veux l'utiliser en 2000, je suis bloquée.
J'ai essayé de ne rien mettre est là c'est tout qui ne
fonctionne plus.
Merci pour votre aide.
-----Message d'origine-----
Bonjour,
Tu as pu être été trompé par des habitudes héritées
d'autres
langages mais la déclaration de variable en VBA et VB
doit être
totalement complète. Quand tu mets :
Dim L, L1, L2, L3, L4, L5 As Range
Tu déclares L, L1, L2, L3 et L4 comme variant
(variable par défaut
sans autre spécifications) et uniquement L5 comme range
Si tu veux tout déclarer comme range tu es obligé
d'écrire :
dim L as range, L1 as range, L2 as range, etc......
Mais dans ton cas tes variables ne peuvent pas être
déclarées comme
range car elles recoivent des valeurs (ce qu'une
variable Range ne
peut pas) par : L5 = Cells(F, "D").Value
Tu dois donc les déclarer plus explicitement comme
String, date,
byte, integer, etc... ou comme le suggérait Michel, ne
rien mettre
(par parresse ;-) ) et laisser alors Excel définir la
variable comme
variant.
Je te suggère de te reporter à l'aide ou à un bon
livre pour
approfondir tes infos sur les variables car c'est
essentiel.
--
HTH
Paul V.
Cath wrote:
Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L,
Len (L) -
1): C = C + 1
L = ""
End If
Next
End sub
.
.
-----Message d'origine-----
Bonjour,
Je peux t'assurer que la procédure comme tu l'as mise sur
ce forum ne peut
pas fonctionner sur 2002. J'ai testé par simple
vérification mais je suis
formel. Même erreur en 2000 et en 2002.
Il doit y avoir une différence soit dans le code, soit
dans le niveau de
sécurité des macros.
Ou peut être avec l'option de déclaration explicite des
variables.
A toi de voir
--
HTH
Paul V.
wrote:Bonjour,
Merci pour la réponse
Mais alors pourquoi en faisant ce programme en 2002, je
n'ai pas de souci de déclaration.
Et quand je veux l'utiliser en 2000, je suis bloquée.
J'ai essayé de ne rien mettre est là c'est tout qui ne
fonctionne plus.
Merci pour votre aide.-----Message d'origine-----
Bonjour,
Tu as pu être été trompé par des habitudes héritées
d'autres
langages mais la déclaration de variable en VBA et VB
doit être
totalement complète. Quand tu mets :
Dim L, L1, L2, L3, L4, L5 As Range
Tu déclares L, L1, L2, L3 et L4 comme variant
(variable par défaut
sans autre spécifications) et uniquement L5 comme range
Si tu veux tout déclarer comme range tu es obligé
d'écrire :
dim L as range, L1 as range, L2 as range, etc......
Mais dans ton cas tes variables ne peuvent pas être
déclarées comme
range car elles recoivent des valeurs (ce qu'une
variable Range ne
peut pas) par : L5 = Cells(F, "D").Value
Tu dois donc les déclarer plus explicitement comme
String, date,
byte, integer, etc... ou comme le suggérait Michel, ne
rien mettre
(par parresse ;-) ) et laisser alors Excel définir la
variable comme
variant.
Je te suggère de te reporter à l'aide ou à un bon
livre pour
approfondir tes infos sur les variables car c'est
essentiel.
--
HTH
Paul V.
Cath wrote:Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L,
Len (L) -
1): C = C + 1
L = ""
End If
Next
End sub
.
.
-----Message d'origine-----
Bonjour,
Tu as pu être été trompé par des habitudes héritées
d'autres langages mais
la déclaration de variable en VBA et VB doit être
totalement complète.
Quand tu mets :
Dim L, L1, L2, L3, L4, L5 As Range
Tu déclares L, L1, L2, L3 et L4 comme variant (variable
par défaut sans
autre spécifications) et uniquement L5 comme range
Si tu veux tout déclarer comme range tu es obligé
d'écrire :
dim L as range, L1 as range, L2 as range, etc......
Mais dans ton cas tes variables ne peuvent pas être
déclarées comme range
car elles recoivent des valeurs (ce qu'une variable Range
ne peut pas) par :
L5 = Cells(F, "D").Value
Tu dois donc les déclarer plus explicitement comme
String, date, byte,
integer, etc... ou comme le suggérait Michel, ne rien
mettre (par parresse
;-) ) et laisser alors Excel définir la variable comme
variant.
Je te suggère de te reporter à l'aide ou à un bon livre
pour approfondir tes
infos sur les variables car c'est essentiel.
--
HTH
Paul V.
Cath wrote:Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L, Len
(L) -
1): C = C + 1
L = ""
End If
Next
End sub
.
-----Message d'origine-----
Bonjour,
Tu as pu être été trompé par des habitudes héritées
d'autres langages mais
la déclaration de variable en VBA et VB doit être
totalement complète.
Quand tu mets :
Dim L, L1, L2, L3, L4, L5 As Range
Tu déclares L, L1, L2, L3 et L4 comme variant (variable
par défaut sans
autre spécifications) et uniquement L5 comme range
Si tu veux tout déclarer comme range tu es obligé
d'écrire :
dim L as range, L1 as range, L2 as range, etc......
Mais dans ton cas tes variables ne peuvent pas être
déclarées comme range
car elles recoivent des valeurs (ce qu'une variable Range
ne peut pas) par :
L5 = Cells(F, "D").Value
Tu dois donc les déclarer plus explicitement comme
String, date, byte,
integer, etc... ou comme le suggérait Michel, ne rien
mettre (par parresse
;-) ) et laisser alors Excel définir la variable comme
variant.
Je te suggère de te reporter à l'aide ou à un bon livre
pour approfondir tes
infos sur les variables car c'est essentiel.
--
HTH
Paul V.
Cath wrote:
Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L, Len
(L) -
1): C = C + 1
L = ""
End If
Next
End sub
.
-----Message d'origine-----
Bonjour,
Tu as pu être été trompé par des habitudes héritées
d'autres langages mais
la déclaration de variable en VBA et VB doit être
totalement complète.
Quand tu mets :
Dim L, L1, L2, L3, L4, L5 As Range
Tu déclares L, L1, L2, L3 et L4 comme variant (variable
par défaut sans
autre spécifications) et uniquement L5 comme range
Si tu veux tout déclarer comme range tu es obligé
d'écrire :
dim L as range, L1 as range, L2 as range, etc......
Mais dans ton cas tes variables ne peuvent pas être
déclarées comme range
car elles recoivent des valeurs (ce qu'une variable Range
ne peut pas) par :
L5 = Cells(F, "D").Value
Tu dois donc les déclarer plus explicitement comme
String, date, byte,
integer, etc... ou comme le suggérait Michel, ne rien
mettre (par parresse
;-) ) et laisser alors Excel définir la variable comme
variant.
Je te suggère de te reporter à l'aide ou à un bon livre
pour approfondir tes
infos sur les variables car c'est essentiel.
--
HTH
Paul V.
Cath wrote:Bonjour à tous,
j'ai un code qui fonctionne avec 2002 mais me pose des
soucis avec 2000.
Je n'arrive pas à trouver l'erreur.
Merci pour votre aide
Cath
Voici le message :
Variable objet ou variable de bloc With non défini
Poisition sur la ligne L5..........
Voici le code
Private Sub Workbook_Open()
Dim C, F As Integer
Dim L, L1, L2, L3, L4, L5 As Range
Dim D, D1 As Range
Worksheets("Liste").Activate
C = 1
For F = 1 To [b564].End(3).Row
L1 = Cells(F, "A").Value
L2 = Cells(F, "G").Value
L3 = Cells(F, "I").Value
L4 = Cells(F, "B").Value
L5 = Cells(F, "D").Value
L = L & L5 & " - " & Cells(F, "J") & Chr(10)
If Cells(F, "B") = Cells(F + 1, "B") Then
Else: Cells(C, "K") = L1
Cells(C, "L") = L2
Cells(C, "N") = L3
Cells(C, "M") = L4 & Chr(10) & Left(L, Len
(L) -
1): C = C + 1
L = ""
End If
Next
End sub
.