[VBA]erreur 1004 propriété hidden class range
silverkeops
Messages postés
4
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je développe des macro en VB pour Excel et je ne parviens pas à résoudre mon problème.
Voici mon code :
Public Sub Afficher_Colonnes()
Range("AK14").Select 'on selectionne la première case de test
Do While ActiveCell.Value <> "FIN_TEST"
If ActiveCell.Value <> txt_colonne Then
ActiveCell.EntireColumn.Hidden = True
Else:
ActiveCell.EntireColumn.Hidden = False
End If
Selection.Offset(0, 1).Select 'on se déplace d'une case vers la droite pour continuer les tests
Loop
End Sub
L'éxécution s'arrete à le ligne "....hidden=true" avec le message d'erreur suivant :
Erreur d'exécution '1004':
Impossible de définir la propriété hidden de la classe range.
Ce qui est vraiment bizarre c'est que l'exécution ne s'arrête pas à la 1ère boucle mais après 30 ou 40 !
Merci d'avance por votre aide.
Kéo
Je développe des macro en VB pour Excel et je ne parviens pas à résoudre mon problème.
Voici mon code :
Public Sub Afficher_Colonnes()
Range("AK14").Select 'on selectionne la première case de test
Do While ActiveCell.Value <> "FIN_TEST"
If ActiveCell.Value <> txt_colonne Then
ActiveCell.EntireColumn.Hidden = True
Else:
ActiveCell.EntireColumn.Hidden = False
End If
Selection.Offset(0, 1).Select 'on se déplace d'une case vers la droite pour continuer les tests
Loop
End Sub
L'éxécution s'arrete à le ligne "....hidden=true" avec le message d'erreur suivant :
Erreur d'exécution '1004':
Impossible de définir la propriété hidden de la classe range.
Ce qui est vraiment bizarre c'est que l'exécution ne s'arrête pas à la 1ère boucle mais après 30 ou 40 !
Merci d'avance por votre aide.
Kéo
A voir également:
- Hidden information c'est quoi
- Hidden information marketplace c'est quoi - Forum Facebook
- Information d'identification réseau - Guide
- Input hidden ✓ - Forum PHP
- Winmend folder hidden - Télécharger - Confidentialité
- Input type hidden masquer la value - Forum HTML
4 réponses
Bonjour ou Bonsoir,
suggestion :
plus la syntaxe est explicite et moins il y a d'erreur :-)
Lupin
suggestion :
Sub Afficher_Colonnes()
Dim txt_colonne As String
Dim Feuille As String, Cellule As String
'Application.ScreenUpdating = False
txt_colonne = "Résultat"
Feuille = ActiveSheet.Name
Cellule = ActiveCell.Address
Sheets("Feuil1").Range("AK14").Select
While (ActiveCell.Value <> "FIN_TEST")
If (ActiveCell.Value <> txt_colonne) Then
ActiveCell.EntireColumn.Hidden = True
Else
ActiveCell.EntireColumn.Hidden = False
End If
ActiveCell.Offset(0, 1).Select
Wend
Sheets(Feuille).Range(Cellule).Select
'Application.ScreenUpdating = True
End Sub
plus la syntaxe est explicite et moins il y a d'erreur :-)
Lupin
Hélas la même erreur est générée dans le If, toujours au niveau du
"ActiveCell.EntireColumn.Hidden = True"...
"ActiveCell.EntireColumn.Hidden = True"...
Bonjour,
Je vous suggère de trapper l'erreur. L'erreur 1004 signifie
qu'il y a débordemant de plage !
Placer un poinr d'arrêt à la ligne :
MsgBox Err.Number & vbCrLf & Err.Description
et valider le contenu des variables !
Lupin
Je vous suggère de trapper l'erreur. L'erreur 1004 signifie
qu'il y a débordemant de plage !
Sub Afficher_Colonnes()
Dim txt_colonne As String
Dim Feuille As String, Cellule As String
On Error GoTo Err_Afficher
'Application.ScreenUpdating = False
txt_colonne = "Résultat"
Feuille = ActiveSheet.Name
Cellule = ActiveCell.Address
Sheets("Feuil1").Range("AK14").Select
While (ActiveCell.Value <> "FIN_TEST")
If (ActiveCell.Value <> txt_colonne) Then
ActiveCell.EntireColumn.Hidden = True
Else
ActiveCell.EntireColumn.Hidden = False
End If
ActiveCell.Offset(0, 1).Select
Wend
Sheets(Feuille).Range(Cellule).Select
'Application.ScreenUpdating = True
Exit_Afficher:
Exit Sub
Err_Afficher:
MsgBox Err.Number & vbCrLf & Err.Description
End Sub
Placer un poinr d'arrêt à la ligne :
MsgBox Err.Number & vbCrLf & Err.Description
et valider le contenu des variables !
Lupin
Aucune cellule n'est protégée ni fusionnée.
J'ai essayé de faire un
Range("...").ColumnWidth = 0
à la place du Range("...").EntireColumn.Hidden = True
et l'erreur est exactement la même : "Erreur 1004 impossible de définir la propriété ColumnWidth de la classe Range...
Autre indice : quand je sélectionne un grand nombre de colonne (40 ou 50) et que je fais clic droit/masquer, il y a l'erreur "impossible de déplacer des objets en dehors de la feuille".
Je précise que cela fonctionne en sélectionnant moins de colonnes (environ 20-25).
Je vois donc une limitation du nombre, mais est-il possible de lever cette limitation et comment ?
Merci pour votre aide