Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 insérer ligne

RomainPOIRET

XLDnaute Occasionnel
Bonjour à tous,

Un petit soucis se pose,
J'ai mis en place un code qui me permet d'insérer une ligne à la dernière ligne non vide en fonction du contenu de la colonne A,
Je souhaiterai juste qu'en créant cette ligne, la valeur de la colonne A s’incrémente (ex : AA1, AA2, AA3 ...) et qu'en colonne D, la formule s'entende,

J'espère que je suis clair ...

Merci d'avance,

Romain
 

Pièces jointes

  • test1.xlsm
    22.5 KB · Affichages: 7
Solution
Fichier 2 avec les cellules nommées Debut1 Debut2 Debut3 et la nouvelle macro :
VB:
Sub ajout_ligne()
Dim c As Range
For Each c In Range("Debut1,Debut2,Debut3")
    With c.CurrentRegion.Resize(, 4)
        .Rows(.Rows.Count + 1).Insert xlDown
        .Rows(.Rows.Count).AutoFill .Rows(.Rows.Count).Resize(2)
        Intersect(.Rows(.Rows.Count + 1), [B:C]) = ""
    End With
Next
End Sub

job75

XLDnaute Barbatruc
Bonjour RomainPOIRET,
VB:
Sub ajout_ligne()
With [A1].CurrentRegion
    .Rows(.Rows.Count).AutoFill .Rows(.Rows.Count).Resize(2)
End With
End Sub
S'il faut vider les cellules en colonnes B et C dites-le.

A+
 

job75

XLDnaute Barbatruc
Par contre il y a bug au départ si B1 est vide, il suffit alors de compléter :
VB:
Sub ajout_ligne()
With [A1].CurrentRegion.Resize(, 4)
    .Rows(.Rows.Count).AutoFill .Rows(.Rows.Count).Resize(2)
    Intersect(.Rows(.Rows.Count + 1), [B:C]) = ""
End With
End Sub
 

RomainPOIRET

XLDnaute Occasionnel
Super, Ca commence à ressembler à quelque chose

Je l'ai intégré à mon code de départ (fusion des 2 formules),

l'idée de ce code est donc de rajouter une ligne à la première ligne vide par rapport à la valeur de la colonne A (ici "AA1"),

Mais lorsque je crée plusieurs lignes, à partir de AA10, il me crée 10 lignes par 10 lignes, à quoi cela est due ?

Romain
 

Pièces jointes

  • test1.xlsm
    24.2 KB · Affichages: 2

job75

XLDnaute Barbatruc
Fichier 2 avec les cellules nommées Debut1 Debut2 Debut3 et la nouvelle macro :
VB:
Sub ajout_ligne()
Dim c As Range
For Each c In Range("Debut1,Debut2,Debut3")
    With c.CurrentRegion.Resize(, 4)
        .Rows(.Rows.Count + 1).Insert xlDown
        .Rows(.Rows.Count).AutoFill .Rows(.Rows.Count).Resize(2)
        Intersect(.Rows(.Rows.Count + 1), [B:C]) = ""
    End With
Next
End Sub
 

Pièces jointes

  • test2.xlsm
    23.1 KB · Affichages: 6

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…