Excel - Création auto d'une nouvelle ligne

Fermé
Signaler
Messages postés
5
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
18 août 2008
-
 Vince -
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.

5 réponses

Messages postés
5
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
18 août 2008

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
Messages postés
2
Date d'inscription
dimanche 6 mars 2011
Statut
Membre
Dernière intervention
7 mars 2011

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
Messages postés
17828
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
24 janvier 2022
4 909
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
Messages postés
2
Date d'inscription
dimanche 6 mars 2011
Statut
Membre
Dernière intervention
7 mars 2011

Merci beaucoup Mike-31 !
Ce code fonctionne parfaitement :)
0
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