|
|
|
|
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
Bonjour ou Bonsoir,
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 |
Répondre à Kobaya
|
Bonjour,
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 |