méthode range a échoué

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #20180061
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"
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
Publicité
Poster une réponse
Anonyme