Bonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une
autre page est active, j'obtiens un message "Erreur 1004 Erreur définie
par l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Bonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une
autre page est active, j'obtiens un message "Erreur 1004 Erreur définie
par l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Bonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une
autre page est active, j'obtiens un message "Erreur 1004 Erreur définie
par l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Bonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une autre
page est active, j'obtiens un message "Erreur 1004 Erreur définie par
l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Bonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une autre
page est active, j'obtiens un message "Erreur 1004 Erreur définie par
l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Bonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une autre
page est active, j'obtiens un message "Erreur 1004 Erreur définie par
l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Bonsoir,
Essai de la façon suivante :
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
Dim Fe As Worksheet
Set Fe = Worksheets("RECAP")
With Fe
DerLin = .Range("B65536").End(xlUp).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = .Range(.Cells(1, 1), .Cells(DerLin, DerCol))
End With
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Hervé.
"Péhemme" a écrit dans le message de
news:OkcjEIC%Bonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui
suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une
autre page est active, j'obtiens un message "Erreur 1004 Erreur définie
par l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Bonsoir,
Essai de la façon suivante :
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
Dim Fe As Worksheet
Set Fe = Worksheets("RECAP")
With Fe
DerLin = .Range("B65536").End(xlUp).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = .Range(.Cells(1, 1), .Cells(DerLin, DerCol))
End With
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Hervé.
"Péhemme" <xx@xx.xx> a écrit dans le message de
news:OkcjEIC%23JHA.528@TK2MSFTNGP03.phx.gbl...
Bonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui
suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une
autre page est active, j'obtiens un message "Erreur 1004 Erreur définie
par l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Bonsoir,
Essai de la façon suivante :
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
Dim Fe As Worksheet
Set Fe = Worksheets("RECAP")
With Fe
DerLin = .Range("B65536").End(xlUp).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = .Range(.Cells(1, 1), .Cells(DerLin, DerCol))
End With
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Hervé.
"Péhemme" a écrit dans le message de
news:OkcjEIC%Bonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui
suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une
autre page est active, j'obtiens un message "Erreur 1004 Erreur définie
par l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Bonsoir.
Si tu ne qualifies pas Cells..., par défaut, VBA prend la cellule de la
feuille active. Tu définis donc une plage de RECAP limitée par des
cellules de la feuille active, d'où erreur. Mets :
With Worksheets("RECAP")
Set Source = Range(.Cells(1, 1), .Cells(DerLin, DerCol))
End With
Cordialement.
DanielBonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui
suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une
autre page est active, j'obtiens un message "Erreur 1004 Erreur définie
par l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Bonsoir.
Si tu ne qualifies pas Cells..., par défaut, VBA prend la cellule de la
feuille active. Tu définis donc une plage de RECAP limitée par des
cellules de la feuille active, d'où erreur. Mets :
With Worksheets("RECAP")
Set Source = Range(.Cells(1, 1), .Cells(DerLin, DerCol))
End With
Cordialement.
Daniel
Bonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui
suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une
autre page est active, j'obtiens un message "Erreur 1004 Erreur définie
par l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Bonsoir.
Si tu ne qualifies pas Cells..., par défaut, VBA prend la cellule de la
feuille active. Tu définis donc une plage de RECAP limitée par des
cellules de la feuille active, d'où erreur. Mets :
With Worksheets("RECAP")
Set Source = Range(.Cells(1, 1), .Cells(DerLin, DerCol))
End With
Cordialement.
DanielBonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui
suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une
autre page est active, j'obtiens un message "Erreur 1004 Erreur définie
par l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Mille Mercis Daniel,
Par cette réponse, je comprends qu'il ne sert à rien de définir directement
avec "Set" l'objet Feuille avec lequel on va travailler.
On ne définit *que* le Range avec l'objet Feuille, tandis que l'on peut
définir directement une variable contenant l'objet Feuille où se trouve
l'information.
Enfin... je me comprends...
Puisque tu a été sage ;-) tu as droit à une question supplémentaire :
Pourquoi, que je mette un . (point) devant Range de
Set Source = Range(.Cells(1, 1), .Cells(DerLin, DerCol))
ou que je n'en mette pas, cela fonctionne toujours ?
Bon, cela fonctionne et je pose encore des questions ?... ;-)
Merci encore
Michel
"Daniel.C" a écrit dans le message de
news:OuFcwkC%Bonsoir.
Si tu ne qualifies pas Cells..., par défaut, VBA prend la cellule de la
feuille active. Tu définis donc une plage de RECAP limitée par des cellules
de la feuille active, d'où erreur. Mets :
With Worksheets("RECAP")
Set Source = Range(.Cells(1, 1), .Cells(DerLin, DerCol))
End With
Cordialement.
DanielBonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une
autre page est active, j'obtiens un message "Erreur 1004 Erreur définie
par l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Mille Mercis Daniel,
Par cette réponse, je comprends qu'il ne sert à rien de définir directement
avec "Set" l'objet Feuille avec lequel on va travailler.
On ne définit *que* le Range avec l'objet Feuille, tandis que l'on peut
définir directement une variable contenant l'objet Feuille où se trouve
l'information.
Enfin... je me comprends...
Puisque tu a été sage ;-) tu as droit à une question supplémentaire :
Pourquoi, que je mette un . (point) devant Range de
Set Source = Range(.Cells(1, 1), .Cells(DerLin, DerCol))
ou que je n'en mette pas, cela fonctionne toujours ?
Bon, cela fonctionne et je pose encore des questions ?... ;-)
Merci encore
Michel
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news:OuFcwkC%23JHA.1336@TK2MSFTNGP05.phx.gbl...
Bonsoir.
Si tu ne qualifies pas Cells..., par défaut, VBA prend la cellule de la
feuille active. Tu définis donc une plage de RECAP limitée par des cellules
de la feuille active, d'où erreur. Mets :
With Worksheets("RECAP")
Set Source = Range(.Cells(1, 1), .Cells(DerLin, DerCol))
End With
Cordialement.
Daniel
Bonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une
autre page est active, j'obtiens un message "Erreur 1004 Erreur définie
par l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Mille Mercis Daniel,
Par cette réponse, je comprends qu'il ne sert à rien de définir directement
avec "Set" l'objet Feuille avec lequel on va travailler.
On ne définit *que* le Range avec l'objet Feuille, tandis que l'on peut
définir directement une variable contenant l'objet Feuille où se trouve
l'information.
Enfin... je me comprends...
Puisque tu a été sage ;-) tu as droit à une question supplémentaire :
Pourquoi, que je mette un . (point) devant Range de
Set Source = Range(.Cells(1, 1), .Cells(DerLin, DerCol))
ou que je n'en mette pas, cela fonctionne toujours ?
Bon, cela fonctionne et je pose encore des questions ?... ;-)
Merci encore
Michel
"Daniel.C" a écrit dans le message de
news:OuFcwkC%Bonsoir.
Si tu ne qualifies pas Cells..., par défaut, VBA prend la cellule de la
feuille active. Tu définis donc une plage de RECAP limitée par des cellules
de la feuille active, d'où erreur. Mets :
With Worksheets("RECAP")
Set Source = Range(.Cells(1, 1), .Cells(DerLin, DerCol))
End With
Cordialement.
DanielBonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une
autre page est active, j'obtiens un message "Erreur 1004 Erreur définie
par l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Bonne question ;-)
c'est vrai. moi je traduis en français :
Range(.Cells(1, 1), .Cells(DerLin, DerCol))
=plage commençant à la cellule A1 de la feuille RECAP et finissant à la
cellule xy de la feuille RECAP
C'est suffisant.
.Range(.Cells(1, 1), .Cells(DerLin, DerCol))
se traduit par :
plage de la feuille RECAP commençant à la cellule A1 de la feuille RECAP
et finissant à la cellule xy de la feuille RECAP
c'est bien aussi, mais comme tu as précisé que les cellules bornes
faisaient partie de la feuille RECAP, il s'en suit que la plage définie
fait partie de cette feuille donc pas besoin du point.
DanielMille Mercis Daniel,
Par cette réponse, je comprends qu'il ne sert à rien de définir
directement avec "Set" l'objet Feuille avec lequel on va travailler.
On ne définit *que* le Range avec l'objet Feuille, tandis que l'on peut
définir directement une variable contenant l'objet Feuille où se trouve
l'information.
Enfin... je me comprends...
Puisque tu a été sage ;-) tu as droit à une question supplémentaire :
Pourquoi, que je mette un . (point) devant Range de
Set Source = Range(.Cells(1, 1), .Cells(DerLin, DerCol))
ou que je n'en mette pas, cela fonctionne toujours ?
Bon, cela fonctionne et je pose encore des questions ?... ;-)
Merci encore
Michel
"Daniel.C" a écrit dans le message de
news:OuFcwkC%Bonsoir.
Si tu ne qualifies pas Cells..., par défaut, VBA prend la cellule de la
feuille active. Tu définis donc une plage de RECAP limitée par des
cellules de la feuille active, d'où erreur. Mets :
With Worksheets("RECAP")
Set Source = Range(.Cells(1, 1), .Cells(DerLin, DerCol))
End With
Cordialement.
DanielBonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui
suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une
autre page est active, j'obtiens un message "Erreur 1004 Erreur définie
par l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Bonne question ;-)
c'est vrai. moi je traduis en français :
Range(.Cells(1, 1), .Cells(DerLin, DerCol))
=plage commençant à la cellule A1 de la feuille RECAP et finissant à la
cellule xy de la feuille RECAP
C'est suffisant.
.Range(.Cells(1, 1), .Cells(DerLin, DerCol))
se traduit par :
plage de la feuille RECAP commençant à la cellule A1 de la feuille RECAP
et finissant à la cellule xy de la feuille RECAP
c'est bien aussi, mais comme tu as précisé que les cellules bornes
faisaient partie de la feuille RECAP, il s'en suit que la plage définie
fait partie de cette feuille donc pas besoin du point.
Daniel
Mille Mercis Daniel,
Par cette réponse, je comprends qu'il ne sert à rien de définir
directement avec "Set" l'objet Feuille avec lequel on va travailler.
On ne définit *que* le Range avec l'objet Feuille, tandis que l'on peut
définir directement une variable contenant l'objet Feuille où se trouve
l'information.
Enfin... je me comprends...
Puisque tu a été sage ;-) tu as droit à une question supplémentaire :
Pourquoi, que je mette un . (point) devant Range de
Set Source = Range(.Cells(1, 1), .Cells(DerLin, DerCol))
ou que je n'en mette pas, cela fonctionne toujours ?
Bon, cela fonctionne et je pose encore des questions ?... ;-)
Merci encore
Michel
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news:OuFcwkC%23JHA.1336@TK2MSFTNGP05.phx.gbl...
Bonsoir.
Si tu ne qualifies pas Cells..., par défaut, VBA prend la cellule de la
feuille active. Tu définis donc une plage de RECAP limitée par des
cellules de la feuille active, d'où erreur. Mets :
With Worksheets("RECAP")
Set Source = Range(.Cells(1, 1), .Cells(DerLin, DerCol))
End With
Cordialement.
Daniel
Bonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui
suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une
autre page est active, j'obtiens un message "Erreur 1004 Erreur définie
par l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Bonne question ;-)
c'est vrai. moi je traduis en français :
Range(.Cells(1, 1), .Cells(DerLin, DerCol))
=plage commençant à la cellule A1 de la feuille RECAP et finissant à la
cellule xy de la feuille RECAP
C'est suffisant.
.Range(.Cells(1, 1), .Cells(DerLin, DerCol))
se traduit par :
plage de la feuille RECAP commençant à la cellule A1 de la feuille RECAP
et finissant à la cellule xy de la feuille RECAP
c'est bien aussi, mais comme tu as précisé que les cellules bornes
faisaient partie de la feuille RECAP, il s'en suit que la plage définie
fait partie de cette feuille donc pas besoin du point.
DanielMille Mercis Daniel,
Par cette réponse, je comprends qu'il ne sert à rien de définir
directement avec "Set" l'objet Feuille avec lequel on va travailler.
On ne définit *que* le Range avec l'objet Feuille, tandis que l'on peut
définir directement une variable contenant l'objet Feuille où se trouve
l'information.
Enfin... je me comprends...
Puisque tu a été sage ;-) tu as droit à une question supplémentaire :
Pourquoi, que je mette un . (point) devant Range de
Set Source = Range(.Cells(1, 1), .Cells(DerLin, DerCol))
ou que je n'en mette pas, cela fonctionne toujours ?
Bon, cela fonctionne et je pose encore des questions ?... ;-)
Merci encore
Michel
"Daniel.C" a écrit dans le message de
news:OuFcwkC%Bonsoir.
Si tu ne qualifies pas Cells..., par défaut, VBA prend la cellule de la
feuille active. Tu définis donc une plage de RECAP limitée par des
cellules de la feuille active, d'où erreur. Mets :
With Worksheets("RECAP")
Set Source = Range(.Cells(1, 1), .Cells(DerLin, DerCol))
End With
Cordialement.
DanielBonsoir à Tous,
Je deviens chèvre.
Pour une simple copie d'une page sur une autre, j'écris la macro qui
suit.
Elle fonctionne parfaitement bien si la page "RECAP" est active, si une
autre page est active, j'obtiens un message "Erreur 1004 Erreur définie
par l'application ou par l'objet" sur la ligne :
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Je dois donc avoir un problème de syntaxe, mais je ne vois pas lequel.
Quelque chose m'échappe.
Merci d'avance de votre aide
Michel
Sub De_Source_À_Destination()
Dim DerLin As Long
Dim DerCol As Integer
Dim Source As Range, Cible As Range
DerLin = Range("RECAP!B65536").End(xlUp).Row
DerCol = Sheets("RECAP").Cells.Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin,
DerCol))
Set Cible = Worksheets("Detail").Range("A1")
Source.Copy Destination:=Cible
End Sub
Hervé et Daniel,
Pardon d'avoir l'esprit de l'escalier, mais pourquoi :
Set Cible = Worksheets("Detail").Range("A1")
fonctionne ?
Parce qu'elle n'est pas définie avec Cells ?
Bien amicalement
Michel
Hervé et Daniel,
Pardon d'avoir l'esprit de l'escalier, mais pourquoi :
Set Cible = Worksheets("Detail").Range("A1")
fonctionne ?
Parce qu'elle n'est pas définie avec Cells ?
Bien amicalement
Michel
Hervé et Daniel,
Pardon d'avoir l'esprit de l'escalier, mais pourquoi :
Set Cible = Worksheets("Detail").Range("A1")
fonctionne ?
Parce qu'elle n'est pas définie avec Cells ?
Bien amicalement
Michel
Set Cible = Worksheets("Detail").Cells(1, 1)
est correct, parce que "Cells" est "qualifié" par le nom de la feuille,
c'est à dire que tu indiques le nom de la feuille.
Par contre,
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
n'est pas correct, parce que tu ne précises la feuille que pour "Range" et
pas pour les "Cells", qui de ce fait font référence à la feuille active.
DanielHervé et Daniel,
Pardon d'avoir l'esprit de l'escalier, mais pourquoi :
Set Cible = Worksheets("Detail").Range("A1")
fonctionne ?
Parce qu'elle n'est pas définie avec Cells ?
Bien amicalement
Michel
Set Cible = Worksheets("Detail").Cells(1, 1)
est correct, parce que "Cells" est "qualifié" par le nom de la feuille,
c'est à dire que tu indiques le nom de la feuille.
Par contre,
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
n'est pas correct, parce que tu ne précises la feuille que pour "Range" et
pas pour les "Cells", qui de ce fait font référence à la feuille active.
Daniel
Hervé et Daniel,
Pardon d'avoir l'esprit de l'escalier, mais pourquoi :
Set Cible = Worksheets("Detail").Range("A1")
fonctionne ?
Parce qu'elle n'est pas définie avec Cells ?
Bien amicalement
Michel
Set Cible = Worksheets("Detail").Cells(1, 1)
est correct, parce que "Cells" est "qualifié" par le nom de la feuille,
c'est à dire que tu indiques le nom de la feuille.
Par contre,
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
n'est pas correct, parce que tu ne précises la feuille que pour "Range" et
pas pour les "Cells", qui de ce fait font référence à la feuille active.
DanielHervé et Daniel,
Pardon d'avoir l'esprit de l'escalier, mais pourquoi :
Set Cible = Worksheets("Detail").Range("A1")
fonctionne ?
Parce qu'elle n'est pas définie avec Cells ?
Bien amicalement
Michel
Set Cible = Worksheets("Detail").Cells(1, 1)
est correct, parce que "Cells" est "qualifié" par le nom de la feuille,
c'est à dire que tu indiques le nom de la feuille.
Par contre,
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
n'est pas correct, parce que tu ne précises la feuille que pour "Range" et
pas pour les "Cells", qui de ce fait font référence à la feuille active.
DanielHervé et Daniel,
Pardon d'avoir l'esprit de l'escalier, mais pourquoi :
Set Cible = Worksheets("Detail").Range("A1")
fonctionne ?
Parce qu'elle n'est pas définie avec Cells ?
Bien amicalement
Michel
Set Cible = Worksheets("Detail").Cells(1, 1)
est correct, parce que "Cells" est "qualifié" par le nom de la feuille,
c'est à dire que tu indiques le nom de la feuille.
Par contre,
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
n'est pas correct, parce que tu ne précises la feuille que pour "Range" et
pas pour les "Cells", qui de ce fait font référence à la feuille active.
Daniel
Hervé et Daniel,
Pardon d'avoir l'esprit de l'escalier, mais pourquoi :
Set Cible = Worksheets("Detail").Range("A1")
fonctionne ?
Parce qu'elle n'est pas définie avec Cells ?
Bien amicalement
Michel
Set Cible = Worksheets("Detail").Cells(1, 1)
est correct, parce que "Cells" est "qualifié" par le nom de la feuille,
c'est à dire que tu indiques le nom de la feuille.
Par contre,
Set Source = Worksheets("RECAP").Range(Cells(1, 1), Cells(DerLin, DerCol))
n'est pas correct, parce que tu ne précises la feuille que pour "Range" et
pas pour les "Cells", qui de ce fait font référence à la feuille active.
DanielHervé et Daniel,
Pardon d'avoir l'esprit de l'escalier, mais pourquoi :
Set Cible = Worksheets("Detail").Range("A1")
fonctionne ?
Parce qu'elle n'est pas définie avec Cells ?
Bien amicalement
Michel