Excel - Création auto d'une nouvelle ligne

Fermé
FanatiXX Messages postés 5 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 18 août 2008 - 18 août 2008 à 12:21
 Vince - 17 sept. 2015 à 14:15
Bonjour,

Dans un cadre professionnel, je cherche à créer la chose suivante dans une feuille excel, ce qui je présume doit obligatoirement passer par une macro.

Cette macro devrait :

- Aller à la première ligne vide disponible
- Créer une nouvelle ligne en recopiant les formules + la mise en forme de la ligne supérieure (mais pas le reste du contenu).

Merci d'avance à qui pourra m'apporter son aide !

Bonne journée.
A voir également:

5 réponses

FanatiXX Messages postés 5 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 18 août 2008
18 août 2008 à 12:34
J'ai oublié de préciser qu'outre les formules et la mise en forme, la nouvelle ligne devra également reprendre les données de validation (menus déroulants).

Merci !
0
Ambroisine78 Messages postés 2 Date d'inscription dimanche 6 mars 2011 Statut Membre Dernière intervention 7 mars 2011
7 mars 2011 à 10:25
Bonjour,
Je up ce post parce que je cherche à faire la même chose mais personne n'as répondu :'(
Je précise que mon tableau fait plus de 300 lignes d'ou la nécessité d'aller automatiquement à la dernière ligne de celui-ci peu importe l'endroit ou l'on se trouve dans le tableau.

Si quelqu'un pouvait m'aider :)
0
Mike-31 Messages postés 18341 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 14 octobre 2024 5 101
7 mars 2011 à 13:36
Salut,

Ce code recherche la première cellule vide de la colonne A, insére une ligne, copy les formules de la ligne supérieure, les listes de validation (à tester)

Sub Insére_Ligne_Copy_Formule_MFC()
[A65536].End(xlUp).Offset(1).Select
ActiveCell.EntireRow.Insert
Rows(ActiveCell.Row - 1).Copy Rows(ActiveCell.Row)
On Error Resume Next
Rows(ActiveCell.Row).SpecialCells(xlCellTypeConstants, 23).ClearContents
End Sub
0
Ambroisine78 Messages postés 2 Date d'inscription dimanche 6 mars 2011 Statut Membre Dernière intervention 7 mars 2011
7 mars 2011 à 15:04
Merci beaucoup Mike-31 !
Ce code fonctionne parfaitement :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,
Je déterre ce post car il m'a été bien utile étant novice en vba.
Pour un projet excel j'utilise ce code via un bouton pour copier la ligne dernière ligne rempli.

Sub Insére_Ligne_Copy_Formule_MFC()
[B65536].End(xlUp).Offset(1).Select
ActiveCell.EntireRow.Insert
Rows(ActiveCell.Row - 1).Copy Rows(ActiveCell.Row)
On Error Resume Next
Rows(ActiveCell.Row).SpecialCells(xlCellTypeConstants, 23).ClearContents
End Sub

Pour la suite je voudrai que lorsque une valeur est sélectionné dans une liste de cette nouvelle ligne, cette ligne soit copié vers une autre feuille. J'ai donc trouvé ceci:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("G7:G65536")) Is Nothing Then
If Target.Value = "Jocelyne" Then
With Sheets("Jocelyne")
LigVide = .Range("A65536").End(xlUp).Row + 1
.Cells(LigVide, 1) = Target.Offset(0, -6).Value
.Cells(LigVide, 2) = Target.Offset(0, -5).Value
.Cells(LigVide, 3) = Target.Offset(0, -4).Value
.Cells(LigVide, 4) = Target.Offset(0, -3).Value
.Cells(LigVide, 5) = Target.Offset(0, -2).Value
.Cells(LigVide, 6) = Target.Offset(0, -1).Value
.Cells(LigVide, 7) = Target.Offset(0, 1).Value
.Cells(LigVide, 8) = Target.Offset(0, 2).Value
End With
End If
End If

Mon probleme est lorsque je clic sur le bouton pour créer une ligne la macro s'arrete et me dit erreur 13 incompatibilité de type sur la ligne de code "If Target.Value = "Jocelyne" Then".

Quelqu'un aurait il une idée pour débuguer tout ça?
0