Excel - Création auto d'une nouvelle ligne

FanatiXX Messages postés 5 Statut Membre -  
 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.
Configuration: Windows 2000
Internet Explorer 6.0

5 réponses

  1. FanatiXX Messages postés 5 Statut Membre
     
    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
  2. Ambroisine78 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
     
    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
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  4. Ambroisine78 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
     
    Merci beaucoup Mike-31 !
    Ce code fonctionne parfaitement :)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Vince
     
    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