[VBA]erreur 1004 propriété hidden class range [Fermé]

Signaler
Messages postés
4
Date d'inscription
samedi 23 avril 2005
Statut
Membre
Dernière intervention
9 novembre 2006
-
 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

4 réponses

Messages postés
282
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
10 janvier 2008
213
bonsoir Kéo, Lupin,

n'y aurait-il pas des cellules protégées quelquepart ?

1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
4
Date d'inscription
samedi 23 avril 2005
Statut
Membre
Dernière intervention
9 novembre 2006

Bonjour kobaya,

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

Bonjour ou Bonsoir,

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
Messages postés
4
Date d'inscription
samedi 23 avril 2005
Statut
Membre
Dernière intervention
9 novembre 2006

Hélas la même erreur est générée dans le If, toujours au niveau du
"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 !

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