Code VBA ajouter une ligne au dessus et non en dessous

Bonjour,
J’ai créé un « formulaire » sur excel avec transposition des données sur l’onglet « Suivi des formations ».
J’avais réussi à faire ma macro qui, une fois les données transposées dans l’onglet « suivi des formations », m’ajoutait une ligne vierge au-dessus de celle qui venait d’être créée.
Ma macro est la suivante :
Sub Enregistrer()

’ Enregistrer Macro

  • Range(« F3:F23 »).Select*

  • Selection.Copy*

  • Sheets(« Suivi des formations »).Select*

  • Range(« B3 »).Select*

  • Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _*

  •    :=False, Transpose:=True*
    
  • Rows(« 3:3 »).Select*

  • Application.CutCopyMode = False*

  • Application.CutCopyMode = False*

  • Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow*

  •    With ActiveWorkbook.Worksheets("Suivi des formations").ListObjects("Tableau1"). _*
    
  •    Sort*
    
  •    .Header = xlYes*
    
  •    .MatchCase = False*
    
  •    .Orientation = xlTopToBottom*
    
  •    .SortMethod = xlPinYin*
    
  •    .Apply*
    
  • End With*

  • Sheets(« Formulaire de saisie »).Select*

  • Range(« F3 »).Select*

  • Selection.ClearContents*

  • Range(« F8 »).Select*

  • Selection.ClearContents*

  • Range(« F9 »).Select*

  • Selection.ClearContents*

  • Range(« F10 »).Select*

  • Selection.ClearContents*

  • Range(« F11 »).Select*

  • Selection.ClearContents*

  • Range(« F12 »).Select*

  • Selection.ClearContents*

  • Range(« F14 »).Select*

  • Selection.ClearContents*

End Sub

Je ne comprends pas ce qui ne fonctionne pas car au final, la macro m’ajoute bien une ligne mais en dessous et non pas au dessus et les lignes transposées ne sont pas toutes sur la même ligne (pas facile d’expliquer par écrit, je mets le fichier en pièce jointe).

Encore un grand merci d’avance pour votre aide.

Aline
Test formulaire excel.xlsm (130,4 Ko)

pourquoi votre tableau n’est-il pas jusqu’à la colonne X = suffisant pour votre formulaire. Alors c’est facile avec ceci
Test formulaire excel.xlsm (127,8 Ko)

Sub Enregistrer()
     '
     ' Enregistrer Macro
     '

     Dim cNouvelle_Ligne
     Set cNouvelle_Ligne = Range("tableau1").ListObject.ListRows.Add(1).Range

     With Sheets("Formulaire de saisie")
          .Range("F3:F25").Copy
          cNouvelle_Ligne.PasteSpecial Paste:=xlPasteValues, Transpose:=True
          .Range("F3,F8:F12,F14").ClearContents
     End With

End Sub

Certaines données seront à saisir directement sur l’onglet « suivi des formations » mais plus tard.
Je voulais une lecture plus facile en modifiant les couleurs du suivi et de l’étude « certification » qui peut être faite plus tard, dans cet onglet « suivi ».
En revanche, l’onglet « recherche formations par agent » ne doit pas contenir les informations de certification.

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.