code vba pour inserer une ligne dans une macro

code vba pour inserer une ligne dans une macro - VB/VBA/VBS - Programmation

Marsh Posté le 13-02-2006 à 08:02:34    

Bonjour.
je viens de creer un formulaire dans lequel je renseigne des données que je copie sur une feuille excellorsque je clique sur le bouton "Valider".
j'ai trouver un code mais il me rajoute toujours la ligne en dernier alors que je souhaiterai avoir la derniere saisie en premier il me faudrait donc inserer une ligne (N°14) puis yy copier mes données du formulaire et les anciennes saisie se décaleraient d'une ligne.
Voici le code qui marche donc a moitier: EN Rouge c'est le code que je pense qui ne va pas.
Si qlq un a un tuyau pour moi
merci et longue vie au forum
 
 
 
Private Sub Cmdvalidation_Click()
 
'inscription des données récupérées du formulaire validé dans la feuille excel
'sélection de la ligne sur laquelle écrire (la première vide)
 
num = Sheets("Actions" ).Range("A65536" ).End(xlUp).Row + 1            'on part du bas de la colonne, on cherche la première cellule non vide avec end(xlup),  renvoie    son  'N° avec row et on ajoute 1 pour avoir le numéro de la ligne d'en dessous
 
Sheets("actions" ).Activate
Range("A" & num).Value = CDate(TxtDate.Value) 'le cdate sert à convertir une date au format des paramètres régionaux du pc
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 = Txtdéfaut.Value
Range("H" & num).Value = Cbotea.Value
Range("I" & num).Value = Txtfiche.Value
Range("J" & num).Value = Cborapport.Value
Range("K" & num).Value = Txtserie.Value
'Range("L" & num).Value = CboNbConvives.Value
'Range("M" & num).Value = TxtIngrédients.Value
'Range("N" & num).Value = TxtRecette.Value
'Range("O" & num).Value = TxtCommentaire.Value
 
Unload UserForm1 'on décharge le formulaire. Du coup au prochain affichage, les contrôles seront remis dans
'leur état initial. Si l'on voulait conserver certaines des données entrées, on pourrait simplement cacher
'le formulaire (hide UsfNew, sans point entre les deux) et dans le userform_initialize vider les
'contrôles de son choix.
 
End Sub

Reply

Marsh Posté le 13-02-2006 à 08:02:34   

Reply

Marsh Posté le 13-02-2006 à 22:10:25    

Il suffit d'inserer une ligne, les autres valeurs sont décalées  
  Rows("14:14" ).Select
    Selection.Insert Shift:=xlDown
    Range("A14" ).Select
 
Range("A14" ).Value = CDate(TxtDate.Value) 'le cdate sert à convertir une date au format des paramètres régionaux du pc  
Range("B14" ).Value = Txtconstat.Value  
etc...
bon courage
Epéna

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed