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
Vince - 17 sept. 2015 à 14:15
A voir également:
- Excel - Création auto d'une nouvelle ligne
- Darkino nouvelle adresse - Guide
- Darkino : le grand site pirate change d'adresse et d'interface - Accueil - Services en ligne
- Aller à la ligne excel - Guide
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
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
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 !
Merci !
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
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 :)
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 :)
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
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
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
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
7 mars 2011 à 15:04
Merci beaucoup Mike-31 !
Ce code fonctionne parfaitement :)
Ce code fonctionne parfaitement :)
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?
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?