Run-time error ‘1004’

jegosa -  
ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai un macro qui a été fait sur excel, quand je l'execute j'ai l'erreur 1004 (Run-time error ‘1004’:
Method ‘Range’ of object’_Worksheet’ failed)

Sub SwitchHorizontalTabs()
Dim SelCol As Long
Dim FirstRow As Long
SelCol = ActiveCell.Column
With Sheet1
.Range("5:84").EntireRow.Hidden = True
FirstRow = 5 + ((SelCol - 5) * 20)
.Range(FirstRow & "." & FirstRow + 19).EntireRow.Hidden = False
End With

End Sub

est ce que vous avez une idée

merci d'avance
A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, merci d'utiliser les balises de code, en choisissant "basic" pour du VBA: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

A quelle ligne de code obtiens-tu cette erreur?
Ton code est clairement incorrect.
que penses-tu obtenir en écrivant
Range("5:84")
?
et
Range(FirstRow & "." & FirstRow + 19)
?
0
ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160
 
Bonjour le fil, bonjour le forum,

Comme Yg_be je pensais que les erreurs dans ton code venaient des mêmes lignes qu'il a pointées mais je me suis rendu compte que c'est l'utilisation du CodeName : Sheet1 qui pose vraiment problème. Ton code modifié :
Sub SwitchHorizontalTabs()
Dim SelCol As Long
Dim FirstRow As Long

SelCol = ActiveCell.Column
With Worksheets("Sheet1")
    .Range("5:84").EntireRow.Hidden = True
    FirstRow = 5 + ((SelCol - 5) * 20)
    If FirstRow < 1 Then FirstRow = 1
    .Range(FirstRow & ":" & FirstRow + 19).EntireRow.Hidden = False
End With
End Sub

0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Pourquoi :
.Range("5:84").EntireRow.Hidden = True
????
Au lieu de :
.Rows("5:84").Hidden = True
!!!!

D'autre part ActiveCell est toujours sur ActiveSheet mais pas obligatoirement sur la feuille nommée (que ce soit par son nom ou par son CodeName)
0
ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160 > Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

J'avoue que je ne pensais pas que Range("5:18").EntireRow.Hidden soit accepté mais apparemment ça fonctionne aussi, même si pour la clarté du code je lui préfère évidemment Rows("5:84").Hidden...
0