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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Copie plage cellules dans un onglet d'un autre fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Copie plage cellules dans un onglet d'un autre fichier

n°1389536
LeSqual
Posté le 17-06-2006 à 09:00:54  profilanswer
 

Voila, tout est à peu près dans le titre.
J'ai un programme qui est "sensé" recopier une plage de cellule de mon fichier actif dans un autre fichier (dont le chemin est indiqué dans une cellule, le nom du fichier dans une autre cellule et le nom du nouvel onglet à crée dans une tierve cellule).
 
Cependant mon programme répuère bien le fichier, l'ouvre, créer bien mon nouvel onglet mais je n'arrive pas à coller ma plage de cellule sélectionnée dedans ... normalement c'est là que vous intervenez ! (enfin je l'espère vraiment  :) )
 
Voici mon PG:

Code :
  1. Sub Insertion_onglet()
  2. Dim Emplacement As String
  3. Dim W1 As Workbook
  4. Dim titi As String
  5. Set W1 = ThisWorkbook
  6. titi = Range("E126" )
  7. Emplacement = ActiveWorkbook.Sheets(2).Range("E124" )
  8.    
  9.    
  10. W1.Activate
  11.     Sheets(2).Select
  12.     Range("A1:H115" ).Select
  13.     Application.CutCopyMode = False
  14.     Selection.Copy
  15.      
  16.     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  17.         :=False, Transpose:=False
  18.     Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
  19.         SkipBlanks:=False, Transpose:=False
  20.  
  21.    ChDir _
  22.         Emplacement
  23.            
  24.    Workbooks.Open Filename:= _
  25.         Emplacement & "\" & Range("E125" ) & ".xls"
  26.    
  27.     Sheets.Add
  28.     Sheets("Feuil1" ).Select
  29.     Sheets("Feuil1" ).Name = titi
  30.     Range("A1" ).Select
  31.     Cells.Select
  32.     Selection.Paste
  33.     Application.CutCopyMode = False
  34.     ActiveWorkbook.Save
  35.     ActiveWindow.Close
  36.    
  37. End Sub

mood
Publicité
Posté le 17-06-2006 à 09:00:54  profilanswer
 

n°1389549
galopin01
Posté le 17-06-2006 à 09:29:50  profilanswer
 

bonjour,
remplacer les lignes 32 à 37 par :
 
Sheets.Add
ActiveSheet.Name = titi
'Range("A1" ).Select 'inutile pour Range("A1" )
ActiveSheet.Paste
 
A+


Message édité par galopin01 le 17-06-2006 à 09:30:37
n°1389562
LeSqual
Posté le 17-06-2006 à 09:47:04  profilanswer
 

et bien merci et si en plus tu pouvais me dire comment faire pour garder la mise en forme de ma plage de cellule dan sle nouvel onglet ce serait géant
 
Mais en tout cas merci bcp

n°1389589
galopin01
Posté le 17-06-2006 à 10:59:39  profilanswer
 

bonjour,  
par défaut Paste copie également les formats
- Sauf largeur de colonne et hauteur de ligne pour lesquels il faudra que tu gères des variables en tableau ou que tu procèdes en boucle.
 
Nota : Pour les largeurs de colonne il y a un PasteSpécial :
Selection.PasteSpecial Paste:=xlPasteColumnWidths
 
curieusement il n'existe pas d'équivalent pour les hauteurs de lignes qu'il faut se coltiner à la manivelle...
 
A+


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

  Copie plage cellules dans un onglet d'un autre fichier

 

Sujets relatifs
vba : impression avec PDFcreator d'un fichier excelMacro - Verrouillage de cellules
Protection et signature d'un fichier excelun "fclose" après modification d'un fichier xml
[Xml/Excel] Ouverture fichier xml avec excel2000[Résolu]extraire un fichier .zip en vba?
Actualisation de tableau croisé dynamique sur plage variablechoix entreun fichier texte ou une bd mysql
Parser un fichier xml volumineux sur plusieurs pages ?Récupérer contenu d'un fichier word
Plus de sujets relatifs à : Copie plage cellules dans un onglet d'un autre fichier


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