Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1234 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  code vba pour inserer une ligne dans une macro

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

code vba pour inserer une ligne dans une macro

n°1304000
silver176
Posté le 13-02-2006 à 08:02:34  profilanswer
 

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

mood
Publicité
Posté le 13-02-2006 à 08:02:34  profilanswer
 

n°1304790
Epena
Posté le 13-02-2006 à 22:10:25  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  code vba pour inserer une ligne dans une macro

 

Sujets relatifs
communication code php et C via socketsMacro excel relou à faire
VBA - Macro supprimer ligne[Résolu]Obtenir le code source.
Problème de mise à la lignecomment faire une page achat en ligne
[excel - vba] Appel d'une macro dans une autre[Excel] Fonction - appel a une macro comp.
Executer macro pour mappage BAL sous outlook 
Plus de sujets relatifs à : code vba pour inserer une ligne dans une macro


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR