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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] Methode la plus rapide de recopiage de ligne

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA] Methode la plus rapide de recopiage de ligne

n°1384720
wice
Posté le 09-06-2006 à 16:25:55  profilanswer
 

Hello,
 
je bosse sur un projet en ce moment ou je dois recopier des lignes entieres d'un fichier Excel A vers un autre fichier B.
 
En fait, je voudrais connaitre la méthode la plus rapide pour réaliser cette opération car moi je passe par la déclaration d'un tableau qui stocke toutes les lignes qui m'intéresse du fichier A, puis je le parcourt et j'initialise chaque cellule du fichier B par celle du tableau.
 
Voila donc je me demandais si vous pensiez qu'il y avait des méthodes plus rapides.
 
Merci

mood
Publicité
Posté le 09-06-2006 à 16:25:55  profilanswer
 

n°1384809
dragon25
Je demande à apprendre
Posté le 09-06-2006 à 18:04:59  profilanswer
 

fichier A ouvert
Private Sub Workbook_Open()
    Dim MyStr As String
    MyStr = Workbooks("fichier A.xls" ).Path
    If Right(MyStr, 1) <> "\" Then MyStr = MyStr & "\"
    Workbooks("fichier A.xls" ).SaveCopyAs MyStr & "fichier_Copy.xls"
    Workbooks.Open MyStr & "fichier_Copy.xls"
    Workbooks("fichier_Copy.xls" ).Activate
End sub
 
Que fait ce code ? Le fichier A est copié à l'identique dans le même répertoire en fichier_copy, fichier_est mis en premier plan, il est donc le fichier de travail. Attention, fichier A est toujours ouvert.
fichier_copy et fichier A contiennent et exécute les mêmes macros et les mêmes formules il convient donc de tester le fichier actif pour l'exécution des macros et formules du style
If ActiveWorkbooks("fichier A" ) then ou If activeWorbooks("fichier_copy" ) then
 

n°1384810
dragon25
Je demande à apprendre
Posté le 09-06-2006 à 18:24:15  profilanswer
 

J'ai moi même ce cas avec un fichier de travail mis à jour par l'utilisateur et un fichier modèle de base les feuilles de ces fichiers servent de controle de validation et une feuille de parametre (compteur initial entre autre)
Lorsque l'on enregistre le fichier de travail, je mets a jour les paramètres du fichier modèle de base et je le ferme.
Cela marche très bien SAUF si l'utilisateur fait enregistré sous.. car à ce moment je ne maitrise plus le nom du fichier de travail pour mes tests macro
question 1: y a-t'il une sous-routine "après enregistré sous..." dans laquelle je pourrais récupéré le nom du fichier actif ?
question 2: comment avoir les nom de fichier en paramètre et comment écrire des instructions du style  
MyStr = Workbooks(Paramètre).Path, en bref remplacer les "nomfichier" par paramètre qu'il conviendrait de charger de manière adéquat.
C'est long comme explication excusez-moi mais je butte.
Merci pour votre aide.


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

  [VBA] Methode la plus rapide de recopiage de ligne

 

Sujets relatifs
[VBA] État sous Accessboite de dialogue en VBA
[VBA] Remonter d'un cran dans arborescenceafficher ligne sur un graphique vba
Supprimer une ligne d'un fichier txt[VBA] Détection de 2 chaines identiques successives
EXCEL - Inserer 1 nouvelle ligne toutes les 3 lignesLa methode range.select
Problème avec la méthode openStreamscript chat en ligne sans room
Plus de sujets relatifs à : [VBA] Methode la plus rapide de recopiage de ligne


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