Afficher une ligne en plus à chaque clic

4exemple.xlsx (92.96 Ko)

Bonjour le forum,

J'ai une problématique qui me semblait plutôt simple et pourtant étant débutant en VBA je me retrouve bloqué. La voici donc :

En appuyant sur un bouton je dois masquer la première ligne et en afficher (afficher et non rajouté) une en plus pour que l'on puisse voire que sur 1ans les données. Les données sont ensuite à remplir manuellement donc pas besoins d'automatiser ça.

Ci joint le fichier exemple, j'espère que ma demande est plutôt claire

Merci d'avance

Bonjour,

En temps normal on utilise plutôt les filtres mais à tester :

Sub MAJ()
Dim LR%
With ActiveSheet
    LR = .Cells(.Rows.Count, 2).End(xlUp).Row
    .Cells(LR, 1).Offset(1).EntireRow.Hidden = False
    .Cells(LR, 1).Offset(-35).EntireRow.Hidden = True
End With
End Sub

Cdlt,

Merci beaucoup pour la réactivité (comme d'habitude finalement)

Ca marche parfaitement

Seconde problématique, si je voulais copier et coller des données dans cette nouvelle ligne affiché comment faudrait il faire?

Et troisième problématique si je voulais faire l'action inverse (afficher la premier ligne et cacher la dernier affiché) comment faudrait il le faire.

Je sais pas trop si je suis très claire, redemande moi au besoins.

Bonjour,

Malgré que je n'ai pas compris votre histoire de copie je tente quand même un bout de code pour copier la dernière ligne visible. Si ce n'est pas ça merci de préciser le contexte et le besoin, voir un fichier représentatif avec comparatif avant VS après car je ne sais pas dans quel sens s'effectue la copie, les données d'entrées, d'où proviennent-elle, etc ... Un copier/coller c'est assez large comme notion :

Sub POS()
Dim LR%
With ActiveSheet
    LR = .Cells(.Rows.Count, 2).End(xlUp).Row
    .Cells(LR, 1).Offset(1).EntireRow.Hidden = False
    .Cells(LR, 1).Offset(-35).EntireRow.Hidden = True
End With
End Sub

Sub NEG()
Dim LR%
With ActiveSheet
    LR = .Cells(.Rows.Count, 2).End(xlUp).Row
    .Cells(LR, 1).EntireRow.Hidden = True
    .Cells(LR, 1).Offset(-36).EntireRow.Hidden = False
End With
End Sub

Sub COPIE()
Dim LR%
With ActiveSheet
    LR = .Cells(.Rows.Count, 2).End(xlUp).Row
    .Cells(LR, 1).Resize(1, 6).Copy 'Copie sur largeur de 6 colonnes
End With
End Sub

Cdlt,

Oui c'est vrai que en me relisant c'est pas très claire.

Donc après l'affichage de cette nouvelle ligne je voudrais que les données d'une autre feuille soit collé dans les 3 case vide "D", "E" et "F". Excuse moi je n'ai plus d'ordinateur sous la main j'essaye de t'envoyer un exemple complet au plus vite

J'ai trouvé mais merci quand même pour le temps passé à me répondre.

J'ai utilisé quelque chose de simple

Sub COPIE()

Sheets("SUetCO30").Select
    Range("E33:G33").Select
    Selection.Copy

    Sheets("RECAP30").Select
    Range("D250").Select
        Do While ActiveCell <> ""
        ActiveCell.Offset(1, 0).Select
        Loop

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

End Sub

Bonne continuation

Rechercher des sujets similaires à "afficher ligne chaque clic"