Ajout d'une ligne automatiquement à la fin d'un tableau

Fermé
bassmart Messages postés 281 Date d'inscription jeudi 19 février 2015 Statut Membre Dernière intervention 19 décembre 2023 - 25 févr. 2015 à 19:51
bassmart Messages postés 281 Date d'inscription jeudi 19 février 2015 Statut Membre Dernière intervention 19 décembre 2023 - 26 févr. 2015 à 15:16
Bonjour à tous!

Je sais que je ne suis pas le seul à faire cette demande! J'ai parcourue plusieurs forum afin de trouver la réponse à mes questions mais en vain!!

J 'ai essayé un code qui était sur ce site, mais il m'ajoutait des ligne entre chaque valeur et je sais pas pourquoi! J'ai don essayé de la modifier mais sans succès!! Je croyais pourtant que ce ne serais pas trop compliqué, j'avais tort!

Voici ce que j'ai!

Private Sub worksheet_activate()


Dim Ligne As Long

Ligne = Range("b1048576").End(xlUp).Row + 1
MsgBox "Et voilà" & Ligne

If Range("B" & Ligne).Value <> "" Then
Rows("b" & Ligne).Select
MsgBox "bon" & Ligne
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End If


Range("b7").Select

End Sub


La macro s'effectuer lorsque j'ouvre la feuille en question.

Merci!

1 réponse

bassmart Messages postés 281 Date d'inscription jeudi 19 février 2015 Statut Membre Dernière intervention 19 décembre 2023 1
25 févr. 2015 à 22:11
J'ai trouvé un autre code, mais il m'ajoute aussi des lignes entre mes valeurs.

Private Sub worksheet_activate()

Dim lig As Long

Application.ScreenUpdating = False
For lig = ActiveSheet.Cells(Columns(2).Cells.Count, 2).End(xlUp).Row To 2 Step -1

    If Cells(lig, 2).Value <> Cells(lig + 1, 2).Value _
        And Cells(lig + 1, 2).Value <> "" _
        And Cells(lig, 2).Value <> "" Then
            Rows(lig + 1).Insert
    End If
Next lig


    Range("b8").Select
End Sub
0
bassmart Messages postés 281 Date d'inscription jeudi 19 février 2015 Statut Membre Dernière intervention 19 décembre 2023 1
26 févr. 2015 à 15:16
Bonjour,

Après plusieurs recherches, voici que ce j'ai trouvé! La macro, ajoute une ligne au bon endroit, c'est-à-dire à la fin de mon tableau, mais elle le fait à chaque fois que j'ouvre la feuille.

Je veux qu'il ajoute une ligne seulement lorsque qu'il me reste une seul ligne vide!

Private Sub worksheet_activate()


Dim Ligne As Long

nlign = Range("B7").End(xlDown).Row + 1
MsgBox "Et voilà" & nlign

If IsError(Range("B7").End(xlDown).Row) Then
    nlign = 7
Else
    nlign = Range("B7").End(xlDown).Row + 1
End If

If Range("b7:b" & nlign).Value <> "" Then

Range("B7:b" & nlign).Select
[B1048576].End(xlUp).Select
Rows(nlign).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End If

Range("b7").Select

End Sub


Merci pour votre aide!
0