code pour deplacer une ligne

silver

XLDnaute Nouveau
Bonjour.
Je viens de faire une macro qui affiche un formulaire. Les données de celui ci sont copiées dans une feuille mais a chaque création d'une ligne, celle ci est crée en dernier.
Je souhaiterai au contraire quelle apparaisse en premier soit en ligne 13, et que les autres descendent d'une ligne.
voici comment j'ai écris le code:
Si qlq un a une idée !!!!
merci d'avance!

Private Sub Cmdvalidation_Click()

num = Sheets('Actions').Range('A65536').End(xlUp).Row + 1

Sheets('actions').Activate
Range('A' & num).Value = CDate(TxtDate.Value)
Range('B' & num).Value = Txtconstat.Value
Range('C' & num).Value = Txtdemandeur.Value
Range('D' & num).Value = Cboligne.Value
Range('E' & num).Value = Cboproduit.Value
Range('F' & num).Value = Cbojedec.Value
Range('G' & num).Value = Cbodéfaut.Value
Range('H' & num).Value = Cbotea.Value
Range('I' & num).Value = Txtfiche.Value
Range('J' & num).Value = Cborapport.Value
Range('K' & num).Value = Txtnumero.Value
Range('L' & num).Value = Txtcommentaire.Value
'Range('M' & num).Value = TxtIngrédients.Value
'Range('N' & num).Value = TxtRecette.Value
'Range('O' & num).Value = TxtCommentaire.Value
Unload UserForm1
End Sub
 

pierrejean

XLDnaute Barbatruc
bonjour silver

essaie cela

Private Sub Cmdvalidation_Click()

num = 13
Sheets('actions').Activate
Rows('13:13').Select

Selection.Insert Shift:=xlDown
Range('A' & num).Value = CDate(TxtDate.Value)
Range('B' & num).Value = Txtconstat.Value
Range('C' & num).Value = Txtdemandeur.Value
Range('D' & num).Value = Cboligne.Value
Range('E' & num).Value = Cboproduit.Value
Range('F' & num).Value = Cbojedec.Value
Range('G' & num).Value = Cbodéfaut.Value
Range('H' & num).Value = Cbotea.Value
Range('I' & num).Value = Txtfiche.Value
Range('J' & num).Value = Cborapport.Value
Range('K' & num).Value = Txtnumero.Value
Range('L' & num).Value = Txtcommentaire.Value
'Range('M' & num).Value = TxtIngrédients.Value
'Range('N' & num).Value = TxtRecette.Value
'Range('O' & num).Value = TxtCommentaire.Value
Unload UserForm1
End Sub
 

ChTi160

XLDnaute Barbatruc
Salut silver
bonjour pierrejean
bonjour le Forum

juste pour info il est très utile lorsque l'on programme avec VBA d'utiliser l'enregistreur de macro de la Barre d'outils Visual Basic
voilà ce que donne l'enregistrement de ce que tu demandes,insérer une nouvelle ligne en Ligne 13,il te reste ensuite à adapter à ton fichier
Sub insertRow()
'
' insertRow Macro
' Macro enregistrée le 16/02/2006 par Jean Marie

Rows('13:13').Select
Selection.Insert Shift:=xlDown
Range('A13').Select
End Sub
en espèrant avoir pu t'aider
 

silver

XLDnaute Nouveau
Bonjour a tous.
Autant pour moi l'erreur de syntaxe que j'ai signalé en fait n'est rien, j'avais omis une parenthèse!

La création de la ligne se fait bien et les données sont correctement copiées sur cette ligne.

Merci a tous mission accomplie B)
Longue vie au forum :woohoo:
 

Statistiques des forums

Discussions
312 233
Messages
2 086 465
Membres
103 224
dernier inscrit
VieuxSeb