VBA erreur 1004

jl456

XLDnaute Junior
Bonjour,

Hier soir Papou-net m'a aidé en me proposant le code VBA suivant.
Cependant, ce matin, en l'intégrant dans mon fichier source, il me ressort une erreur 1004 sur la ligne suivante :
.Cells(LgS, 1) = sh.Cells(lg, 1)

Je ne comprends pas pourquoi, pouvez-vous m'aider sur les sujet ?
Je vous remercie par avance.

Voici le code complet :

Sub Synthese()
With Sheets("Synthèse")
.Range("A2:F65536").Delete
For Each sh In Sheets
Select Case sh.Name
Case "Synthèse", "Ajourné", "Graph", "Suivi"
Case Else
For lg = 2 To sh.Range("A65536").End(xlUp).Row
LgS = .UsedRange.Rows.Count + 1
.Cells(LgS, 1) = sh.Cells(lg, 1)
.Cells(LgS, 2) = sh.Cells(lg, 3)
.Cells(LgS, 3) = sh.Cells(lg, 5)
.Cells(LgS, 4) = sh.Cells(lg, 14)
.Cells(LgS, 5) = sh.Cells(lg, 15)
.Cells(LgS, 6) = CDate(sh.Cells(lg, 21))
Next
End Select
Next
End With
End Sub
 

tototiti2008

XLDnaute Barbatruc
Re : VBA erreur 1004

Bonjour jl456,

ce qui serait bien ce serait de connaitre les valeurs de LgS et lg quand ça plante
quand il te fait l'erreur, clique sur débogage
quand la ligne est jaune, passe simplement le pointeur de la souris sur LgS et lg pour connaitre leurs valeurs
 

jl456

XLDnaute Junior
Re : VBA erreur 1004

Bonjour à tous,

Alors maintenant, il m'indique l'erreur dès la ligne :
For lg = 2 To sh.Range("A65536").End(xlUp).Row

En passant avec la souris, il indique :
lg = vide et xlUp= -4162

Merci d'avance pour votre aide, car là je ne comprends pas....

JL
 

Papou-net

XLDnaute Barbatruc
Re : VBA erreur 1004

Bonjour à tous,

Alors maintenant, il m'indique l'erreur dès la ligne :
For lg = 2 To sh.Range("A65536").End(xlUp).Row

En passant avec la souris, il indique :
lg = vide et xlUp= -4162

Merci d'avance pour votre aide, car là je ne comprends pas....

JL

Bonjour à tous,

RE : jl456,

Est-ce que ta colonne A ne serait pas vide, par hasard, comme le laisse supposer sa valeur (-4162) ?

Dans ce cas, il faudrait que tu remplaces sa référence dans la ligne :

Code:
For lg = 2 To sh.Range("[COLOR="Red"][B]A[/B][/COLOR]65536").End(xlUp).Row

Si ce n'est pas ça, peux-tu joindre ton fichier, dans données confidentielles ?

Espérant avoir aidé.

Cordialement.
 

Papou-net

XLDnaute Barbatruc
Re : VBA erreur 1004

Bonjour Papou-net,
Re,

xlUp est une constante VBA qui vaut toujours -4162
sa valeur n'est pas informative en l'occurrence....

Bonjour tototiti2008,

Merci pour cette info : effectivement, on peut remplacer xlUp par -4162 dans la formule VBA, mais c'est beaucoup moins parlant.

Par contre, si la colonne est vide, la formule renvoie 1.

Je pense que le problème vient donc d'ailleurs, peut-être au niveau des noms de feuilles (sh), bien que jl456 ait complété les conditions de la boucle Select Case...

Sans le fichier sous les yeux, difficile d'aller plus loin dans l'analyse car tout fonctionnait avant adaptation sur ce nouveau fichier.

Bonne journée.

Cordialement.
 

jl456

XLDnaute Junior
Re : VBA erreur 1004

Bonjour à tous,

En effet Papou-net, il y avait bien une erreur dans le nom de mes feuilles.
J'en ai rajouté et j'avais mal recopié dans "case" :(

Donc maintenant cela refonctionne parfaitement ! :)

Merci beaucoup pour votre aide, c'est très gentil à vous.

Très bonne journée.

JL
 

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote