Cette macro (voir + bas) ne fonctionne pas ! qui peut me dire pourquoi?
Errreur 1004 : Erreur définie par l'application ou l'objet
C'est cette ligne qui pose problème:
Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 +
j)).Copy
Mai la macro fonctionne si je la remplace par:
Sheets("DONNEES").Select
Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).select
Selection.Copy
Merci pour votre aide
JC
Ci-jointe la macro complète:
---------------------------------------------------------------------
Sub COPIE2()
Dim Qté, NbSlide, Ligne, LigDep, Trav, i, j, L As Integer
'Copie de la quantité dans Qté et regarde Nb de Vtx définit LigDep
Qté = Range("D5").Offset(Ligne, 0).Value
If Range("B5").Offset(Ligne, 0).Value = 2 Then LigDep = 7
If Range("B5").Offset(Ligne, 0).Value = 3 Then LigDep = 19
If Range("B5").Offset(Ligne, 0).Value = 4 Then LigDep = 31
' Test si Slide avec Traverse
If Range("C5").Offset(Ligne, 0).Value = "T" Then Trav = 6 Else Trav = 5
'Copie des dimensions du slide
Range(Cells(5 + Ligne, 5), Cells(5 + Ligne, 6)).Copy
Sheets("DONNEES").Range("B2:C2").PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
' Copie des longueurs de pièce à débiter
For j = 0 To Trav
For i = 1 To Qté
L = Sheets("LISTE").Range("H1").Offset(0, j).Value
Application.CutCopyMode = False
-> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep +
7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!!
Sheets("LISTE").Range("H5").Offset(L, j).PasteSpecial
Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Next
Next
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonsoir. Le mieux serait de mettre ton classeur sur www.cjoint.com en effaçant les données confidentielles et de poster l'adresse générée. Cordialement. Daniel "Changuy" a écrit dans le message de news:
Bonsoir a tous,
Cette macro (voir + bas) ne fonctionne pas ! qui peut me dire pourquoi? Errreur 1004 : Erreur définie par l'application ou l'objet
C'est cette ligne qui pose problème: Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy Mai la macro fonctionne si je la remplace par: Sheets("DONNEES").Select Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).select Selection.Copy
Merci pour votre aide JC
Ci-jointe la macro complète: --------------------------------------------------------------------- Sub COPIE2() Dim Qté, NbSlide, Ligne, LigDep, Trav, i, j, L As Integer
'Copie de la quantité dans Qté et regarde Nb de Vtx définit LigDep Qté = Range("D5").Offset(Ligne, 0).Value If Range("B5").Offset(Ligne, 0).Value = 2 Then LigDep = 7 If Range("B5").Offset(Ligne, 0).Value = 3 Then LigDep = 19 If Range("B5").Offset(Ligne, 0).Value = 4 Then LigDep = 31
' Test si Slide avec Traverse If Range("C5").Offset(Ligne, 0).Value = "T" Then Trav = 6 Else Trav = 5
'Copie des dimensions du slide Range(Cells(5 + Ligne, 5), Cells(5 + Ligne, 6)).Copy Sheets("DONNEES").Range("B2:C2").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
' Copie des longueurs de pièce à débiter For j = 0 To Trav For i = 1 To Qté L = Sheets("LISTE").Range("H1").Offset(0, j).Value Application.CutCopyMode = False -> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!! Sheets("LISTE").Range("H5").Offset(L, j).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse Application.CutCopyMode = False Next Next
Next
Sheets("LISTE").Range("A1").Select
End Sub
Bonsoir.
Le mieux serait de mettre ton classeur sur www.cjoint.com en effaçant les
données confidentielles et de poster l'adresse générée.
Cordialement.
Daniel
"Changuy" <j.changarnier@wanadoo.fr> a écrit dans le message de news:
Oh5msAxxHHA.3696@TK2MSFTNGP03.phx.gbl...
Bonsoir a tous,
Cette macro (voir + bas) ne fonctionne pas ! qui peut me dire pourquoi?
Errreur 1004 : Erreur définie par l'application ou l'objet
C'est cette ligne qui pose problème:
Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 +
j)).Copy
Mai la macro fonctionne si je la remplace par:
Sheets("DONNEES").Select
Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).select
Selection.Copy
Merci pour votre aide
JC
Ci-jointe la macro complète:
---------------------------------------------------------------------
Sub COPIE2()
Dim Qté, NbSlide, Ligne, LigDep, Trav, i, j, L As Integer
'Copie de la quantité dans Qté et regarde Nb de Vtx définit LigDep
Qté = Range("D5").Offset(Ligne, 0).Value
If Range("B5").Offset(Ligne, 0).Value = 2 Then LigDep = 7
If Range("B5").Offset(Ligne, 0).Value = 3 Then LigDep = 19
If Range("B5").Offset(Ligne, 0).Value = 4 Then LigDep = 31
' Test si Slide avec Traverse
If Range("C5").Offset(Ligne, 0).Value = "T" Then Trav = 6 Else Trav = 5
'Copie des dimensions du slide
Range(Cells(5 + Ligne, 5), Cells(5 + Ligne, 6)).Copy
Sheets("DONNEES").Range("B2:C2").PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
' Copie des longueurs de pièce à débiter
For j = 0 To Trav
For i = 1 To Qté
L = Sheets("LISTE").Range("H1").Offset(0, j).Value
Application.CutCopyMode = False
-> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep +
7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!!
Sheets("LISTE").Range("H5").Offset(L, j).PasteSpecial
Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
Next
Next
Bonsoir. Le mieux serait de mettre ton classeur sur www.cjoint.com en effaçant les données confidentielles et de poster l'adresse générée. Cordialement. Daniel "Changuy" a écrit dans le message de news:
Bonsoir a tous,
Cette macro (voir + bas) ne fonctionne pas ! qui peut me dire pourquoi? Errreur 1004 : Erreur définie par l'application ou l'objet
C'est cette ligne qui pose problème: Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy Mai la macro fonctionne si je la remplace par: Sheets("DONNEES").Select Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).select Selection.Copy
Merci pour votre aide JC
Ci-jointe la macro complète: --------------------------------------------------------------------- Sub COPIE2() Dim Qté, NbSlide, Ligne, LigDep, Trav, i, j, L As Integer
'Copie de la quantité dans Qté et regarde Nb de Vtx définit LigDep Qté = Range("D5").Offset(Ligne, 0).Value If Range("B5").Offset(Ligne, 0).Value = 2 Then LigDep = 7 If Range("B5").Offset(Ligne, 0).Value = 3 Then LigDep = 19 If Range("B5").Offset(Ligne, 0).Value = 4 Then LigDep = 31
' Test si Slide avec Traverse If Range("C5").Offset(Ligne, 0).Value = "T" Then Trav = 6 Else Trav = 5
'Copie des dimensions du slide Range(Cells(5 + Ligne, 5), Cells(5 + Ligne, 6)).Copy Sheets("DONNEES").Range("B2:C2").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
' Copie des longueurs de pièce à débiter For j = 0 To Trav For i = 1 To Qté L = Sheets("LISTE").Range("H1").Offset(0, j).Value Application.CutCopyMode = False -> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!! Sheets("LISTE").Range("H5").Offset(L, j).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse Application.CutCopyMode = False Next Next
Next
Sheets("LISTE").Range("A1").Select
End Sub
Youky
-> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!! Attention de mettre tout sur la même ligne ou en bout ligne faire 1 espace et trait bas comme ceci Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + _ 7, 2 + j)).Copy la ligne ne bug pas si LigDep>0 Youky
"Changuy" a écrit dans le message de news:
Bonsoir a tous,
Cette macro (voir + bas) ne fonctionne pas ! qui peut me dire pourquoi? Errreur 1004 : Erreur définie par l'application ou l'objet
C'est cette ligne qui pose problème: Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy Mai la macro fonctionne si je la remplace par: Sheets("DONNEES").Select Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).select Selection.Copy
Merci pour votre aide JC
Ci-jointe la macro complète: --------------------------------------------------------------------- Sub COPIE2() Dim Qté, NbSlide, Ligne, LigDep, Trav, i, j, L As Integer
'Copie de la quantité dans Qté et regarde Nb de Vtx définit LigDep Qté = Range("D5").Offset(Ligne, 0).Value If Range("B5").Offset(Ligne, 0).Value = 2 Then LigDep = 7 If Range("B5").Offset(Ligne, 0).Value = 3 Then LigDep = 19 If Range("B5").Offset(Ligne, 0).Value = 4 Then LigDep = 31
' Test si Slide avec Traverse If Range("C5").Offset(Ligne, 0).Value = "T" Then Trav = 6 Else Trav = 5
'Copie des dimensions du slide Range(Cells(5 + Ligne, 5), Cells(5 + Ligne, 6)).Copy Sheets("DONNEES").Range("B2:C2").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
' Copie des longueurs de pièce à débiter For j = 0 To Trav For i = 1 To Qté L = Sheets("LISTE").Range("H1").Offset(0, j).Value Application.CutCopyMode = False -> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!! Sheets("LISTE").Range("H5").Offset(L, j).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse Application.CutCopyMode = False Next Next
Next
Sheets("LISTE").Range("A1").Select
End Sub
-> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep +
7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!!
Attention de mettre tout sur la même ligne
ou en bout ligne faire 1 espace et trait bas comme ceci
Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + _
7, 2 + j)).Copy
la ligne ne bug pas si LigDep>0
Youky
"Changuy" <j.changarnier@wanadoo.fr> a écrit dans le message de news:
Oh5msAxxHHA.3696@TK2MSFTNGP03.phx.gbl...
Bonsoir a tous,
Cette macro (voir + bas) ne fonctionne pas ! qui peut me dire pourquoi?
Errreur 1004 : Erreur définie par l'application ou l'objet
C'est cette ligne qui pose problème:
Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 +
j)).Copy
Mai la macro fonctionne si je la remplace par:
Sheets("DONNEES").Select
Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).select
Selection.Copy
Merci pour votre aide
JC
Ci-jointe la macro complète:
---------------------------------------------------------------------
Sub COPIE2()
Dim Qté, NbSlide, Ligne, LigDep, Trav, i, j, L As Integer
'Copie de la quantité dans Qté et regarde Nb de Vtx définit LigDep
Qté = Range("D5").Offset(Ligne, 0).Value
If Range("B5").Offset(Ligne, 0).Value = 2 Then LigDep = 7
If Range("B5").Offset(Ligne, 0).Value = 3 Then LigDep = 19
If Range("B5").Offset(Ligne, 0).Value = 4 Then LigDep = 31
' Test si Slide avec Traverse
If Range("C5").Offset(Ligne, 0).Value = "T" Then Trav = 6 Else Trav = 5
'Copie des dimensions du slide
Range(Cells(5 + Ligne, 5), Cells(5 + Ligne, 6)).Copy
Sheets("DONNEES").Range("B2:C2").PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
' Copie des longueurs de pièce à débiter
For j = 0 To Trav
For i = 1 To Qté
L = Sheets("LISTE").Range("H1").Offset(0, j).Value
Application.CutCopyMode = False
-> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep +
7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!!
Sheets("LISTE").Range("H5").Offset(L, j).PasteSpecial
Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
Next
Next
-> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!! Attention de mettre tout sur la même ligne ou en bout ligne faire 1 espace et trait bas comme ceci Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + _ 7, 2 + j)).Copy la ligne ne bug pas si LigDep>0 Youky
"Changuy" a écrit dans le message de news:
Bonsoir a tous,
Cette macro (voir + bas) ne fonctionne pas ! qui peut me dire pourquoi? Errreur 1004 : Erreur définie par l'application ou l'objet
C'est cette ligne qui pose problème: Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy Mai la macro fonctionne si je la remplace par: Sheets("DONNEES").Select Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).select Selection.Copy
Merci pour votre aide JC
Ci-jointe la macro complète: --------------------------------------------------------------------- Sub COPIE2() Dim Qté, NbSlide, Ligne, LigDep, Trav, i, j, L As Integer
'Copie de la quantité dans Qté et regarde Nb de Vtx définit LigDep Qté = Range("D5").Offset(Ligne, 0).Value If Range("B5").Offset(Ligne, 0).Value = 2 Then LigDep = 7 If Range("B5").Offset(Ligne, 0).Value = 3 Then LigDep = 19 If Range("B5").Offset(Ligne, 0).Value = 4 Then LigDep = 31
' Test si Slide avec Traverse If Range("C5").Offset(Ligne, 0).Value = "T" Then Trav = 6 Else Trav = 5
'Copie des dimensions du slide Range(Cells(5 + Ligne, 5), Cells(5 + Ligne, 6)).Copy Sheets("DONNEES").Range("B2:C2").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
' Copie des longueurs de pièce à débiter For j = 0 To Trav For i = 1 To Qté L = Sheets("LISTE").Range("H1").Offset(0, j).Value Application.CutCopyMode = False -> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!! Sheets("LISTE").Range("H5").Offset(L, j).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse Application.CutCopyMode = False Next Next
Next
Sheets("LISTE").Range("A1").Select
End Sub
MichDenis
2 syntaxes possibles :
Remarquer le point devant les 2 "Cells"
With Sheets("DONNEES") .Range(.Cells(LigDep, 2 + j), .Cells(LigDep + 7, 2 + j)).Copy End With
Cette macro (voir + bas) ne fonctionne pas ! qui peut me dire pourquoi? Errreur 1004 : Erreur définie par l'application ou l'objet
C'est cette ligne qui pose problème: Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy Mai la macro fonctionne si je la remplace par: Sheets("DONNEES").Select Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).select Selection.Copy
Merci pour votre aide JC
Ci-jointe la macro complète: --------------------------------------------------------------------- Sub COPIE2() Dim Qté, NbSlide, Ligne, LigDep, Trav, i, j, L As Integer
'Copie de la quantité dans Qté et regarde Nb de Vtx définit LigDep Qté = Range("D5").Offset(Ligne, 0).Value If Range("B5").Offset(Ligne, 0).Value = 2 Then LigDep = 7 If Range("B5").Offset(Ligne, 0).Value = 3 Then LigDep = 19 If Range("B5").Offset(Ligne, 0).Value = 4 Then LigDep = 31
' Test si Slide avec Traverse If Range("C5").Offset(Ligne, 0).Value = "T" Then Trav = 6 Else Trav = 5
'Copie des dimensions du slide Range(Cells(5 + Ligne, 5), Cells(5 + Ligne, 6)).Copy Sheets("DONNEES").Range("B2:C2").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
' Copie des longueurs de pièce à débiter For j = 0 To Trav For i = 1 To Qté L = Sheets("LISTE").Range("H1").Offset(0, j).Value Application.CutCopyMode = False -> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!! Sheets("LISTE").Range("H5").Offset(L, j).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse Application.CutCopyMode = False Next Next
Next
Sheets("LISTE").Range("A1").Select
End Sub
2 syntaxes possibles :
Remarquer le point devant les 2 "Cells"
With Sheets("DONNEES")
.Range(.Cells(LigDep, 2 + j), .Cells(LigDep + 7, 2 + j)).Copy
End With
"Changuy" <j.changarnier@wanadoo.fr> a écrit dans le message de news:
Oh5msAxxHHA.3696@TK2MSFTNGP03.phx.gbl...
Bonsoir a tous,
Cette macro (voir + bas) ne fonctionne pas ! qui peut me dire pourquoi?
Errreur 1004 : Erreur définie par l'application ou l'objet
C'est cette ligne qui pose problème:
Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 +
j)).Copy
Mai la macro fonctionne si je la remplace par:
Sheets("DONNEES").Select
Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).select
Selection.Copy
Merci pour votre aide
JC
Ci-jointe la macro complète:
---------------------------------------------------------------------
Sub COPIE2()
Dim Qté, NbSlide, Ligne, LigDep, Trav, i, j, L As Integer
'Copie de la quantité dans Qté et regarde Nb de Vtx définit LigDep
Qté = Range("D5").Offset(Ligne, 0).Value
If Range("B5").Offset(Ligne, 0).Value = 2 Then LigDep = 7
If Range("B5").Offset(Ligne, 0).Value = 3 Then LigDep = 19
If Range("B5").Offset(Ligne, 0).Value = 4 Then LigDep = 31
' Test si Slide avec Traverse
If Range("C5").Offset(Ligne, 0).Value = "T" Then Trav = 6 Else Trav = 5
'Copie des dimensions du slide
Range(Cells(5 + Ligne, 5), Cells(5 + Ligne, 6)).Copy
Sheets("DONNEES").Range("B2:C2").PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
' Copie des longueurs de pièce à débiter
For j = 0 To Trav
For i = 1 To Qté
L = Sheets("LISTE").Range("H1").Offset(0, j).Value
Application.CutCopyMode = False
-> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep +
7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!!
Sheets("LISTE").Range("H5").Offset(L, j).PasteSpecial
Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
Next
Next
Cette macro (voir + bas) ne fonctionne pas ! qui peut me dire pourquoi? Errreur 1004 : Erreur définie par l'application ou l'objet
C'est cette ligne qui pose problème: Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy Mai la macro fonctionne si je la remplace par: Sheets("DONNEES").Select Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).select Selection.Copy
Merci pour votre aide JC
Ci-jointe la macro complète: --------------------------------------------------------------------- Sub COPIE2() Dim Qté, NbSlide, Ligne, LigDep, Trav, i, j, L As Integer
'Copie de la quantité dans Qté et regarde Nb de Vtx définit LigDep Qté = Range("D5").Offset(Ligne, 0).Value If Range("B5").Offset(Ligne, 0).Value = 2 Then LigDep = 7 If Range("B5").Offset(Ligne, 0).Value = 3 Then LigDep = 19 If Range("B5").Offset(Ligne, 0).Value = 4 Then LigDep = 31
' Test si Slide avec Traverse If Range("C5").Offset(Ligne, 0).Value = "T" Then Trav = 6 Else Trav = 5
'Copie des dimensions du slide Range(Cells(5 + Ligne, 5), Cells(5 + Ligne, 6)).Copy Sheets("DONNEES").Range("B2:C2").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
' Copie des longueurs de pièce à débiter For j = 0 To Trav For i = 1 To Qté L = Sheets("LISTE").Range("H1").Offset(0, j).Value Application.CutCopyMode = False -> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!! Sheets("LISTE").Range("H5").Offset(L, j).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse Application.CutCopyMode = False Next Next
Next
Sheets("LISTE").Range("A1").Select
End Sub
Changuy
Merci a tous: MichDenis, Youky, Daniel.
JC
"MichDenis" a écrit dans le message de news:
2 syntaxes possibles :
Remarquer le point devant les 2 "Cells"
With Sheets("DONNEES") .Range(.Cells(LigDep, 2 + j), .Cells(LigDep + 7, 2 + j)).Copy End With
Cette macro (voir + bas) ne fonctionne pas ! qui peut me dire pourquoi? Errreur 1004 : Erreur définie par l'application ou l'objet
C'est cette ligne qui pose problème: Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy Mai la macro fonctionne si je la remplace par: Sheets("DONNEES").Select Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).select Selection.Copy
Merci pour votre aide JC
Ci-jointe la macro complète: --------------------------------------------------------------------- Sub COPIE2() Dim Qté, NbSlide, Ligne, LigDep, Trav, i, j, L As Integer
'Copie de la quantité dans Qté et regarde Nb de Vtx définit LigDep Qté = Range("D5").Offset(Ligne, 0).Value If Range("B5").Offset(Ligne, 0).Value = 2 Then LigDep = 7 If Range("B5").Offset(Ligne, 0).Value = 3 Then LigDep = 19 If Range("B5").Offset(Ligne, 0).Value = 4 Then LigDep = 31
' Test si Slide avec Traverse If Range("C5").Offset(Ligne, 0).Value = "T" Then Trav = 6 Else Trav = 5
'Copie des dimensions du slide Range(Cells(5 + Ligne, 5), Cells(5 + Ligne, 6)).Copy Sheets("DONNEES").Range("B2:C2").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
' Copie des longueurs de pièce à débiter For j = 0 To Trav For i = 1 To Qté L = Sheets("LISTE").Range("H1").Offset(0, j).Value Application.CutCopyMode = False -> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!! Sheets("LISTE").Range("H5").Offset(L, j).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse Application.CutCopyMode = False Next Next
Next
Sheets("LISTE").Range("A1").Select
End Sub
Merci a tous: MichDenis, Youky, Daniel.
JC
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
ehzsye2xHHA.1204@TK2MSFTNGP03.phx.gbl...
2 syntaxes possibles :
Remarquer le point devant les 2 "Cells"
With Sheets("DONNEES")
.Range(.Cells(LigDep, 2 + j), .Cells(LigDep + 7, 2 + j)).Copy
End With
"Changuy" <j.changarnier@wanadoo.fr> a écrit dans le message de news:
Oh5msAxxHHA.3696@TK2MSFTNGP03.phx.gbl...
Bonsoir a tous,
Cette macro (voir + bas) ne fonctionne pas ! qui peut me dire pourquoi?
Errreur 1004 : Erreur définie par l'application ou l'objet
C'est cette ligne qui pose problème:
Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 +
j)).Copy
Mai la macro fonctionne si je la remplace par:
Sheets("DONNEES").Select
Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).select
Selection.Copy
Merci pour votre aide
JC
Ci-jointe la macro complète:
---------------------------------------------------------------------
Sub COPIE2()
Dim Qté, NbSlide, Ligne, LigDep, Trav, i, j, L As Integer
'Copie de la quantité dans Qté et regarde Nb de Vtx définit LigDep
Qté = Range("D5").Offset(Ligne, 0).Value
If Range("B5").Offset(Ligne, 0).Value = 2 Then LigDep = 7
If Range("B5").Offset(Ligne, 0).Value = 3 Then LigDep = 19
If Range("B5").Offset(Ligne, 0).Value = 4 Then LigDep = 31
' Test si Slide avec Traverse
If Range("C5").Offset(Ligne, 0).Value = "T" Then Trav = 6 Else Trav = 5
'Copie des dimensions du slide
Range(Cells(5 + Ligne, 5), Cells(5 + Ligne, 6)).Copy
Sheets("DONNEES").Range("B2:C2").PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
' Copie des longueurs de pièce à débiter
For j = 0 To Trav
For i = 1 To Qté
L = Sheets("LISTE").Range("H1").Offset(0, j).Value
Application.CutCopyMode = False
-> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep +
7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!!
Sheets("LISTE").Range("H5").Offset(L, j).PasteSpecial
Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
Next
Next
Cette macro (voir + bas) ne fonctionne pas ! qui peut me dire pourquoi? Errreur 1004 : Erreur définie par l'application ou l'objet
C'est cette ligne qui pose problème: Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy Mai la macro fonctionne si je la remplace par: Sheets("DONNEES").Select Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).select Selection.Copy
Merci pour votre aide JC
Ci-jointe la macro complète: --------------------------------------------------------------------- Sub COPIE2() Dim Qté, NbSlide, Ligne, LigDep, Trav, i, j, L As Integer
'Copie de la quantité dans Qté et regarde Nb de Vtx définit LigDep Qté = Range("D5").Offset(Ligne, 0).Value If Range("B5").Offset(Ligne, 0).Value = 2 Then LigDep = 7 If Range("B5").Offset(Ligne, 0).Value = 3 Then LigDep = 19 If Range("B5").Offset(Ligne, 0).Value = 4 Then LigDep = 31
' Test si Slide avec Traverse If Range("C5").Offset(Ligne, 0).Value = "T" Then Trav = 6 Else Trav = 5
'Copie des dimensions du slide Range(Cells(5 + Ligne, 5), Cells(5 + Ligne, 6)).Copy Sheets("DONNEES").Range("B2:C2").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse
' Copie des longueurs de pièce à débiter For j = 0 To Trav For i = 1 To Qté L = Sheets("LISTE").Range("H1").Offset(0, j).Value Application.CutCopyMode = False -> Sheets("DONNEES").Range(Cells(LigDep, 2 + j), Cells(LigDep + 7, 2 + j)).Copy '!!!!!!!! Bug sur cette ligne !!!! Sheets("LISTE").Range("H5").Offset(L, j).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse Application.CutCopyMode = False Next Next