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

méthode range a échoué

1 réponse
Avatar
AnB
Bonjour
je n'arrive pas à comprendre j'ai un message "1004" à l'intruction : set
plage1=
il qq chose qui m'échappe ou un truc que je n'ai pas compris??
merci de votre aide
Anb


Sub récap()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim plage1 As Range
Dim débutplg& 'variable de la 1ère cellule de la plage 2(ligne)
Dim finplg& 'variable de la dernière cellule de la plage 2(ligne)
Dim i&
Dim Nbf As Integer
Application.ScreenUpdating = False
Nbf = Sheets("récap").Index
Set sh1 = Sheets("récap")
sh1.[A1:S500].Clear
débutplg = 4
finplg = 37
For i& = Nbf + 2 To Sheets.Count
Set sh2 = Sheets(i&)
sh2.Activate
col = 1

*****le message est à ligne ci-dessous

Set plage1 = sh2.Range(Cells(débutplg, col), Cells(finplg, col))
plage1.Copy
sh1.Range("A65536").End(xlUp).Offset(4).PasteSpecial Paste:=xlPasteValues

1 réponse

Avatar
michdenis
Bonjour Anb,

| Set plage1 = sh2.Range(Cells(débutplg, col), Cells(finplg, col))

Essaie comme ceci :

With Sh2
Set Plage1 = .Range(.cells(débutplg, col),.Cells(finplg, col))
End With

De cette manière, tu t'assures que les objets de ta ligne de code
font référence à la même feuille. Je suppose que la valeur de
tes variables sont des valeurs possibles pour ta version d'Excel.




"AnB" a écrit dans le message de groupe de discussion :

Bonjour
je n'arrive pas à comprendre j'ai un message "1004" à l'intruction : set
plage1 il qq chose qui m'échappe ou un truc que je n'ai pas compris??
merci de votre aide
Anb


Sub récap()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim plage1 As Range
Dim débutplg& 'variable de la 1ère cellule de la plage 2(ligne)
Dim finplg& 'variable de la dernière cellule de la plage 2(ligne)
Dim i&
Dim Nbf As Integer
Application.ScreenUpdating = False
Nbf = Sheets("récap").Index
Set sh1 = Sheets("récap")
sh1.[A1:S500].Clear
débutplg = 4
finplg = 37
For i& = Nbf + 2 To Sheets.Count
Set sh2 = Sheets(i&)
sh2.Activate
col = 1

*****le message est à ligne ci-dessous

Set plage1 = sh2.Range(Cells(débutplg, col), Cells(finplg, col))
plage1.Copy
sh1.Range("A65536").End(xlUp).Offset(4).PasteSpecial Paste:=xlPasteValues