[Résolu] Une erreur '1004' avec placement en 1ère ligne disponible

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Webperegrino

XLDnaute Accro
Supporter XLD
Bonjour Le Forum,

J’ai un petit souci de fonctionnement d’une macro qui m’affiche une ERREUR ‘1004’ : Impossible de définir la propriété Hidden de la classe Range.
Voici la macro défectueuse :

VB:
Sub LIGNDIPS()
With Sheets("TB")
Dim u As Integer
u = Range("A820").End(xlUp).Row + 1 '1ère ligne dispo
    'MsgBox ("u = " & u)'Indique le n° de la 1ère ligne disponible
.Rows(u & ":" & u + 5).EntireRow.Hidden = False
.Rows(u + 6 & ":65536").EntireRow.Hidden = True
End With
End Sub

Cette macro est intégrée dans une autre, dont voici les détails :

VB:
Private Sub Worksheet_Change(ByVal Target As Range) 'mise en majuscules
Application.EnableEvents = False
Application.ScreenUpdating = False
With Sheets("TB")
If Not Application.Intersect(Target, Range("C3:C820")) Is Nothing Then
    If Not IsEmpty(Target) Then
      If Target.Count > 1 Then End
            Target.Value = UCase(Target.Value)
    End If
  End If
End With
LIGNDIPS
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Pouvez-vous m’indiquer, sans urgence, ce qui ne va pas dans cette conception et comment la faire fonctionner correctement ?
Bien cordialement à vous tous,
Webperegrino
 
Dernière édition:
Re : Une erreur '1004' avec placement en 1ère ligne disponible

Bonjour ,

Prise hors contexte , la 1ere macro fonctionne .

La 2eme par contre est implantée dans quelle feuille ?

Encore une fois , sans fichier , c'eest plus de la boule de cristal que du dépannage ....
 
Re : Une erreur '1004' avec placement en 1ère ligne disponible

Bonjour,

Je viens de tester ton code et tout fonctionne correctement, la seule chose que j'ai modifié, c'est le nom de la feuille, moi j'ai mis With Sheets(1) à la place de With Sheets("TB"). Sinon à part ça je n'ai rien changé et tout est ok.

Bonne fin de journée.

John
EDIT: message croisé avec celui de camarchepas 🙂 effectivement sans un fichier pour tester, pas tjrs facile de trouver le comment du pourquoi 🙁
 
Re : Une erreur '1004' avec placement en 1ère ligne disponible

Le Forum,
Bonjour Camarchepas, Bonjour John,
Vous êtes trop rapides à répondre !
Je n'ai même pas le temps de préparer un mini-fichier à partir de mon 'usine à gaz'.xl où se trouvent ces macros.

Camarchepas :
- dans Feuil1("TB"), pour Private Sub Worksheet_Change(ByVal Target As Range) et avec en entête de page-macro l'expression : Option Explicit ;
- puis en Module8 pour Sub LIGNDIPS()].

J'ai essayé de placer Sub LIGNDIPS() dans Feuil1(TB) au lieu de Module 8 : pas de succès non plus.

J'ai enfin essayé la solution de John, sans effet favorable.

Je vous remercie, et vous reviens avec un petit fichier dès que possible.
Cordialement,
Webperegrino
 
Re : Une erreur '1004' avec placement en 1ère ligne disponible

Bonjour Le Forum,
Bonjour Camarchepas, John et Bebere,
Curieusement, Bebere, la macro fonctionne aussi avec :
Range("A820").End(xlUp).Row + 1 '1ère ligne dispo

Le message d'erreur apparaît au niveau de la ligne suivante :
.Rows(u & ":" & u + 2).EntireRow.Hidden = False

Je pense que l'erreur se manifeste car :
- les cellules en col D, col E appellent un calendrier-choix d'une date,
- les cellules Col K à Col AM reçoivent un Target = "þ" lors d'un Private Sub Worksheet_SelectionChange(ByVal Target As Range) '(Cellules à cocher - décocher)

Voici par contre un fichier qui fonctionne sans les contraintes ci-dessus ; je ne peux vous produire le fichier original car il pèse 1,111 Mo.

Merci pour votre soutien : j'avance grâce à vous.
Cordialement
Webperegrino
 

Pièces jointes

Re : Une erreur '1004' avec placement en 1ère ligne disponible

Bonsoir Le Forum,
Bonsoir Camarchepas,
"les cellules en col D et col E appelant le calendrier pour un choix d'une date" sont effectivement celles qui bloquent la macro.
Je vais persévérer de mon côté pour essayer de trouver 'LA' solution 100 % fonctionnelle.
Bien sûr dans le petit fichier ci-avant joint, j'avais retiré la liaison avec ce calendrier 'parasite' mais pourtant nécessaire dans mon fichier source.
Merci encore pour ton aide et à bientôt pour indiquer ma trouvaille,
Cordialement
Webperegrino
 
Re : Une erreur '1004' avec placement en 1ère ligne disponible

bonjour à tous
après plusieurs essais pas d'erreur
si u est déclaré integer le système change en long
dans l'aide c'est bien expliqué,les lignes tjrs en long

Code:
Sub LIGNDISP()
'With ActiveSheet 'Sheets(1) 'With Sheets("TB")
Dim u As Long 'Integer
u = Range("A820").End(xlUp).Row + 1 '1ère ligne dispo
Rows(u & ":" & u + 2).EntireRow.Hidden = False
Rows(u + 3 & ":820").EntireRow.Hidden = True
'End With
End Sub

Code:
Sub LIGNDISP()
'With ActiveSheet 'Sheets(1) 'With Sheets("TB")
Dim u As Long 'Integer
u = Range("A820").End(xlUp).Row + 1 '1ère ligne dispo
Range(Cells(u, 1), Cells(u + 2, 1)).EntireRow.Hidden = False
Range(Cells(u, 1), Cells(820, 1)).EntireRow.Hidden = True

'Rows(u & ":" & u + 2).EntireRow.Hidden = False
'Rows(u + 3 & ":820").EntireRow.Hidden = True
'End With
End Sub
avec sélection
Code:
Sub LIGNDISP()
'With ActiveSheet 'Sheets(1) 'With Sheets("TB")
Dim u As Long 'Integer
u = Range("A820").End(xlUp).Row + 1 '1ère ligne dispo
Range(Cells(u, 1), Cells(u + 2, 1)).Select
Selection.EntireRow.Hidden = False
Range(Cells(u, 1), Cells(820, 1)).Select
Selection.EntireRow.Hidden = True

'Rows(u & ":" & u + 2).EntireRow.Hidden = False
'Rows(u + 3 & ":820").EntireRow.Hidden = True
'End With
End Sub
 
Re : Une erreur '1004' avec placement en 1ère ligne disponible

Le Forum,
Merci à vous quatre, Camarchapas, John, Bebere et tout dernièrement Staple 1600 d'être intervenus.
Les différentes propositions ont bien été comprises et elles ont été appliquées.
Grâce à vous quatre, les informations données sont parfaites, je vous en remercie et mes derniers essais et rectifications sont concluants.
Ceci permet de clôturer la discussion.
Bien cordialement,
Webperegrino
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
236
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
9
Affichages
196
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
317
Réponses
7
Affichages
211
Retour