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
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
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
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" <nospamanb@noos.fr> a écrit dans le message de groupe de discussion :
uYAIlcROKHA.5108@TK2MSFTNGP02.phx.gbl...
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
| 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