Macro insertion d'une ligne

Bonjour, je souhaiterai réaliser une macro afin d'insérer une ligne sur un tableau, tout en copiant automatiquement les valeurs de deux colonnes spécifiques du tableau, à chaque ajout d'une ligne. Par exemple, pour les colonnes A et B, il y a toujours les même valeurs dans les cellules, donc j'aimerai qu'à chaque insertion ces deux colonnes puissent se recopier automatiquement sans que je réinscrive les valeurs. Par ailleurs les colonnes E, F, G... ont des cellules de valeurs différentes. Je ne peux vous transmettre malheureusement le fichier car il est confidentiel. Merci pour votre aide.

Ps: j'ai déjà le bout de code pour l'insertion d'une ligne, il me faut juste la partie pour recopier automatiquement les deux colonnes, mais je ne sais pas vraiment m'y prendre...

bonjour

voici une macro qui permet de copier la dernière ligne

Sub Insere()

'

' Macro1 Macro

'

vlig = ActiveCell.Row

vzona = vlig & ":" & vlig

vzonb = vlig - 1 & ":" & vlig - 1

Selection.EntireRow.Select

Selection.Insert Shift:=xlDown

Rows(vzonb).Select

Selection.Copy

Rows(vzona).Select

ActiveSheet.Paste

Cells(vlig, 1).Select

End Sub

avec la macro suivante toute les donne sont copier a la ligne suivante et faut changer les autres cellule

ou le moyen suivant est de crée un formulaire avec un textbox qui pour les colonne a et b les textes soient les meme et les autre colonne rentre dans le formulaire tout les éléments que tu veux texte date etc

j’espère t’avoir pu t'aider

ced

Bonjour Bredeche,

Que signifie l'affection de vlig & ":" & vlig à zonea, et vlig - 1 & ":" & vlig - 1 de zoneb?

Merci encore pour votre aide.

bonjour

salut au passage bredeche

suggestion sans macro : mettre sous forme de tableau

en A2 mettre

= tavaleur

en B2 mettre

= tonautrevaleur

ces 2 formules (si on peut dire) se recopient toutes seules à la création d'une nouvelle ligne en pied de tableau

note : les colonnes A et B contiennent une valeur fixe, donc elles sont inutiles. Non ?

amitiés

Bonjour,

Public Sub InsertRowIntable()
Dim rCell As Range
Const A As String = "AAA"
Const B As String = "BBB"
    With ActiveSheet.ListObjects(1)
        If .InsertRowRange Is Nothing Then
            Set rCell = .HeaderRowRange.Cells(1).Offset(.ListRows.Count + 1)
        Else
            Set rCell = .InsertRowRange.Cells(1)
        End If
    End With
    With rCell
        .Value = A
        .Offset(, 1).Value = B
    End With
End Sub
Rechercher des sujets similaires à "macro insertion ligne"