ajouter une ligne automatiquement en recopiant les formules et la validation des données.

blancolie

XLDnaute Impliqué
Bonjour le forum.

J'ai récupérer ce code VBA mais je connais rien en VBA.

VB:
Sub insertionLigne()
    With ActiveCell
        .EntireRow.Insert xlShiftDown 'Insert une ligne au dessus
        .EntireRow.Copy ' Copie la ligne active
        With .Offset(-1).EntireRow 'Passe les formats et formules à la ligne insérée
            .PasteSpecial xlPasteFormats
            .PasteSpecial xlPasteFormulas
        End With
        Application.CutCopyMode = False
    End With
End Sub

Le soucis de ce code : il est fait pour être lancer manuellement, recopie bien les formules et les validations de données (liste déroulante) par contre me supprime mes listes déroulantes de la ligne au dessus.

Ce que je voudrais, c'est le rajout de ligne se fasse automatiquement quand la première cellule (code) soit rempli (cellule A3 dans l'onglet Zone de saisie) tout en recopiant les formules et liste déroulante mais je veux que cela me laisse les liste déroulante active au dessus.

merci à vous
 

Pièces jointes

  • fleurissement 1.xlsm
    47 KB · Affichages: 15

Jacky67

XLDnaute Barbatruc
Bonjour,
Une solution simple, consiste à passer en tableau structuré
Il y a alors possibilité de faire cela sans vba (clic droit insérer etc...)
En Vba
VB:
Sub Ajout_ligne()
    With [tableau2]
        .ListObject.ListRows.Add (1)
    End With
End Sub
 

Pièces jointes

  • fleurissement 1.xlsm
    49.1 KB · Affichages: 6

blancolie

XLDnaute Impliqué
j'ai regardé votre travail, dc je vois que vous rajouter la ligne au dessus . il n 'y a pas la possibilité de faire l'inverse ? et je vois qu'il faut cliquer sur un bouton ? ce n'est pas possible que cela se fasse automatiquement si la cellule code est rempli ?

Cordialement

sur celui la je n'ai enleve le codage
 

Pièces jointes

  • fleurissement 1.xlsm
    46.5 KB · Affichages: 5
Dernière édition:

Jacky67

XLDnaute Barbatruc
j'ai regardé votre travail, dc je vois que vous rajouter la ligne au dessus . il n 'y a pas la possibilité de faire l'inverse ? et je vois qu'il faut cliquer sur un bouton ? ce n'est pas possible que cela se fasse automatiquement si la cellule code est rempli ?

Cordialement

sur celui la je n'ai enleve le codage
Re..
Dans cette version, une ligne est ajoutée si la cellule colonne 1 précédente est renseignée et uniquement si la sélection se fait dans la ligne suivante du tableau
 

Pièces jointes

  • fleurissement 2.xlsm
    49.4 KB · Affichages: 17

blancolie

XLDnaute Impliqué
En ouvrant ton fichier ,quand je clique sur la cellule A4 juste en dessous de celle ou est inscrit ach01 (cellule A3), je n 'ai pas ma liste déroulante. dans la cellule B4, j ai bien une de mes formules mais ds les autres à cotés, je n 'ai rien.

logiquement si on se comprends bien, quand je rentre 1 donnée , logiquement , 1 deuxieme ligne doit apparaitre avec les listes déroulantes et formules ?
 

Jacky67

XLDnaute Barbatruc
Re..
Chez moi, j'ai bien les listes déroulantes en colonne A et en colonne C
1587847206335.png
 

blancolie

XLDnaute Impliqué
le 1er post que j'ai poste avec le codage vba, vous voyez ? par contre la cela marche mais la c'est manuelle et quand je clique sur macro, j'ai un nom de macro qui apparait.
alors que quand c'est ta macro , ds la fenêtre macro, je n'ai pas de nom.

mais apres je ne vois pas ou est le problème, car je connais pas le vba
 

Discussions similaires

Statistiques des forums

Discussions
311 541
Messages
2 080 546
Membres
101 240
dernier inscrit
Zaki