Ajout d'une ligne automatiquement après la dernière entrée

Bonjour,

J'ai cherché sur le forum comment ajouter une ligne automatiquement à la fin de la dernière ligne saisie sur une feuille donnée et tout ce que j'ai trouvé ou essayé ne fonctionne pas. Elles sont souvent contrôlées avec un bouton!

Je défini un nombre x de ligne à remplir dans ma feuille et quand je suis rendue à ma dernière ligne il me rajoute une ligne automatiquement et sans bouton.

J'espère que vous pouvez m'aider!

Voici ce que j'ai essayé(c'est une macro tiré du forum) que j'ai placé directement sur ma feuille appelée "Coordonnées":

Private Sub Worksheet_Change(ByVal Target As Range)

  If Not Application.Intersect(Target, Range("c")) Is Nothing Then
    ''Macros par Claude Dubois pour "dje31" Excel-Pratique le 12 Nov 09
        Dim Lg%
        Lg = Range("Top").Row

            Application.EnableEvents = False
            Rows(Lg).Copy
            Rows(Lg).Insert
            Range("top").ClearContents
            Application.CutCopyMode = False
            Application.EnableEvents = True
    End If

End Sub
75test2.zip (62.71 Ko)

SALUT SVP

ENVOYER LE FHICHIER DECOMPRESSE

Bonjour,

Ton fichier semble incomplet.

Mais comme tu as 2010 met ta plage sous forme de Tableau et la ligne s'ajoutera automatiquement à la 1ère saisie.

eric

Voici le lien pour mon fichier! Malheureusement, je ne peux vous l'envoyer décompressé, il est trop gros!

Merci!


Salut Eric!

Qu'est-ce que tu veux dire par là?

eriiic a écrit :

Mais comme tu as 2010 met ta plage sous forme de Tableau et la ligne s'ajoutera automatiquement à la 1ère saisie.

eric

Je ne comprend pas?

Bonjour,

Te mettre dans une cellule de la plage et 'Accueil / Style / Mettre sous forme de tableau' ou 'Insertion / tableau'

Ensuite démarre une saisie sur une nouvelle ligne et tu verras, les styles et formules sont recopiés.

eric

Merci!

Mais se n'est pas vraiment ce que je veux faire!

Je veux qu'une macro s'en occupe tout seul.

Je veux définir un nombre de ligne (genre 50 lignes) dans ma feuille et lorsque je saisie ma dernière ligne, il m'ajoute une ligne automatiquement.

J'ai vue que c'était possible, mais pour l'instant je ne comprend pas très bien les macros pour pouvoir adapter une macro existante à mon cas.

Merci de votre aide!

Bonsoir,

Ton archive zip n'est pas valide.

Cdlt.

Est-ce que c'est mon format de fichier .xlsm?

Re,

Ouvre ton archive et tu comprendras ton souci.

Elle n'est pas complète.

Cdlt.

Merci!

Effectivement, je viens de remarquer le problème.

Et si, j'envoie ça comme ça, est-ce que ça fonctionne?


Ça ne fonctionne pas non plus!!


Et voici un autre lien!

Ça devrait marcher cette fois-ci! J'ai enlevé tout le superflu de mes feuilles pour que ce soit pas trop gros comme fichier.

72test3.zip (9.08 Ko)

Et qu'est-ce que la macro est sensée faire de plus que ne fait pas la mise en tableau ?

Avant la macro était obligatoire pour ça. Maintenant autant se servir des fonctionnalités d'excel qui fait ça en mieux.

As-tu seulement essayé ?

eric

C'est un fichier qui ne sera pas utilisé que par moi et les gens ne sont tous habitué à l'environnement Excel!

Donc je veux limiter le nombres de manipulations des autres usagés pour ne pas corrompre mon fichier!

À moins que tu me dise que c'est automatique une fois appliqué?

Merci!

Tu sais quoi : essaie et tu reviens me dire ce que tu en penses.

eric

Salut Eric,

Effectivement ça fonctionne, mais seulement si la feuille n'est pas verrouillé!

Dès que je verrouille ma feuille, rendu à la fin de mon tableau il me renvoie à la première ligne déverrouillé.

Je veux protéger une bonne partie de ma feuille et seulement garder les lignes à remplir déverrouillées pour ne pas corrompre le reste de ma feuille.

Merci!

Finalement, je n'ai pas trouvé encore de code pour le faire automatique. Par contre, j'ai trouvé un moyen pour ajouter des lignes à la fin de mon tableau à l'aide d'une macro assigné à un bouton.

Voici mon code:

Sub Ajoutlignes()

Dim Nbrcolonne As Integer

Nbrcolonne = Application.InputBox("COMBIEN DE LIGNE VOULEZ-VOUS AJOUTER?", "AJOUT DE LIGNES", Type:=1)

    For i = 1 To Nbrcolonne
    Worksheets("Coordonnées").Range("e5").End(xlDown).Offset(1, 0).Select 'se positionner sur la première ligne vide
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove 'insertion nouvelle ligne, le bouton descend
    Next i

End Sub

Si vous avez des suggestions d'amélioration n'hésité pas!

Merci!

Bonjour à tous!

J'ai réussi à trouver une macro pour ajouter une ligne à la fin de mon tableau qui s'active lors de l'ouverture de la feuille. Elle fonctionne quand j'enlève la fonction IF.

Le seul problème que je rencontre c'est qu'elle m'ajoute une ligne à chaque activation de la feuille même si il y a une ligne ou 2 ou 3 ou 4 lignes vide. J'ai essayé ensuite, d'y rajouter une condition IF mais sans succès, ça plante à tous les coup!

Je veux lui dire d'ajouter une ligne à la fin de mon tableau seulement s'il y a une ligne vide et si il y en a 2 ou plus, elle ne fait rien.

Est-que quelqu'un peut m'aider sur ce coup?

Merci de de voter aide sur ce point!

Voici ma macro:

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
Rechercher des sujets similaires à "ajout ligne automatiquement derniere entree"