Demasquer des lignes

Imer2007

XLDnaute Occasionnel
Bonjour à tous,

J'ai un tableau de projet de 500 lignes numérotées.
Je souhaiterais masquer ces lignes au départ et n'avoir que la ligne 1.
Lorsque la ligne 1 est remplie, en cliquant sur un bouton "nouvelle ligne", je souhaite faire apparaitre la ligne 2, et ainsi de suite.

Bien entendu, à la fermeture du classeur, il garde la dernière ligne créée, c'est à dire si j'ai mis des données en ligne 3, lorsque je ferme et le rouvre, il me garde la ligne 3.

Est-ce que quelqu'un saurait m'aider ?

Merci d'avance.
 

Imer2007

XLDnaute Occasionnel
Re : Demasquer des lignes

J'ai trouvé la méthode pour masquer mais le souci que j'ai maintenant est une erreur 1004 du code vba.
Mon fichier charge de projet fonctionne très bien mais dès qu'il s'ouvre en mode partagé, l'erreur d'éxecution 1004 s'affiche (mais si je clique sur ok, ca fonctionne quand meme).

Mes questions sont :
1- est ce là (mode partagé) d'ou vient le probleme ?
2- Est-il possible de créer un code qui empeche d'afficher cette erreur 1004 ?

Je vous joins le code, si vous pouvez trouver parce que là je sèche.

Code dans le fichier Charge de projet
Code:
Private Sub CommandButton1_Click()
Sheets("Charge de projet").Unprotect Password:="andromede"    'retire la protection
Dim CC As Comment
    If ActiveCell.Row < 8 Then Exit Sub
    Message = InputBox("Commentaire : ")
    If Message = "" Then Exit Sub
    Cells(ActiveCell.Row, 4).Select
    ActiveCell.ClearComments ' il est possible qu'il y ait deja un commentaire
Set CC = Selection.AddComment
CC.Text Message
End Sub

Private Sub CommandButton2_Click()
Sheets("Charge de projet").Unprotect Password:="andromede"    'retire la protection
Call Suppr
Sheets("Charge de projet").Protect Password:="andromede"    'On protège
End Sub

Private Sub creer_ligne_Click()
Sheets("Charge de projet").Unprotect Password:="andromede" 'retire la protection
 Dim NumLigne As Long
    NumLigne = ActiveSheet.Range("B65536").End(xlUp).Offset(1, 0).Row ' ligne vide du tableau
    Application.ScreenUpdating = False
    If ActiveSheet.Range("C" & NumLigne - 1).Value <> "" Then
        ActiveSheet.Range("B" & NumLigne).EntireRow.Hidden = False  ' Démasque la ligne qui suit
    Else
    MsgBox "Vous n'avez pas rempli le domaine ", _
    vbExclamation, " Attention ! "
End If

    Application.ScreenUpdating = True
Sheets("Charge de projet").Protect Password:="andromede"    'On protège

End Sub

Private Sub filtre_Click()
Sheets("Charge de projet").Unprotect Password:="andromede" 'retire la protection
    Range("B7:N7").Select
    Selection.AutoFilter
End Sub

Private Sub Worksheet_change(ByVal Target As Range)
Sheets("Charge de projet").Unprotect Password:="andromede" 'retire la protection
Call Couleur
Sheets("Charge de projet").Protect Password:="andromede"    'On protège
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 033
Membres
104 010
dernier inscrit
Freba