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

Syntaxe Range

11 réponses
Avatar
Péhemme
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

1 réponse

1 2
Avatar
Daniel.C
Le point indique ce qui a été mis dans l'instruction "With"
Daniel

Salut tatous et tatousses
Le . (point) devant cell n'indique-t-il pas que cell fait partie de la
feuille active? Crois-je me souvenir.... ?????

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Daniel.C" a écrit dans le message de news:
esvH1OJ%
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








1 2