XL 2013 insérer ligne

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
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
 
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

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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
605
Retour