begin process at 2012 02 16 07:04:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

VBA

 > 

Copy de cellules


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Copy de cellules

lundi 16 septembre 2002 à 23:01:02 | Copy de cellules

tiflo

Bonsoir à tous :

Etant débutant en VB, je souhaite créer une routine VB, qui copie une plage de cellule d'un classeur Excel dans un autre classeur, cela sans ouvrir Excel.
Malgré la consultation des codes déjà existant, j'ai du mal pour le moment à les adapter pour mes besoins.
Si qq1 peut m'aider, merci d'avance !
mardi 17 septembre 2002 à 14:53:24 | Re : Copy de cellules

imer

'Menu Options/Références, cocher Microsoft Excel X.X Object Library
'Dans une form avec un bouton Command1

Option Explicit

Private Type cellules
Classeur As String
Feuille As String
Col1 As Variant
ColN As Variant
Ligne1 As Long
LigneN As Long
End Type

Private Sub Command1_Click()

Dim cellSrc As cellules
Dim cellDest As cellules

With cellSrc
.Classeur = "c:\Src.xls"
.Feuille = "Src"
.Col1 = "A"
.Ligne1 = 1
.ColN = 12
.LigneN = 3
End With

With cellDest
.Classeur = "c:\Dest.xls"
.Feuille = "Cible"
.Col1 = "A"
.Ligne1 = 1
End With


Call CopierCellules(cellSrc, cellDest)

End Sub

Private Function CopierCellules(Src_Cell As cellules, Dest_Cell As cellules)

Dim XlApp As Excel.Application
Dim Cell1 As Excel.Range
Dim CellN As Excel.Range

Set XlApp = New Excel.Application

XlApp.Workbooks.Open Src_Cell.Classeur, , True
XlApp.ActiveWorkbook.Worksheets(Src_Cell.Feuille).Activate

If IsNumeric(Src_Cell.Col1) = True Then
Set Cell1 = XlApp.ActiveSheet.Cells(Src_Cell.Ligne1, Src_Cell.Col1)
Else
Set Cell1 = XlApp.ActiveSheet.Range(CStr(Src_Cell.Col1) & CStr(Src_Cell.Ligne1))
End If

If IsNumeric(Src_Cell.ColN) = True Then
Set CellN = XlApp.ActiveSheet.Cells(Src_Cell.LigneN, Src_Cell.ColN)
Else
Set CellN = XlApp.ActiveSheet.Range(CStr(Src_Cell.ColN) & CStr(Src_Cell.LigneN))
End If

XlApp.Workbooks(1).Worksheets(Src_Cell.Feuille).Range(Cell1, CellN).Copy

If Dir(Dest_Cell.Classeur) <> "" Then
XlApp.Workbooks.Open Dest_Cell.Classeur
Else
XlApp.Workbooks.Add
XlApp.ActiveSheet.Name = Dest_Cell.Feuille
XlApp.ActiveWorkbook.SaveAs Dest_Cell.Classeur
End If

XlApp.ActiveWorkbook.Worksheets(Dest_Cell.Feuille).Activate
If IsNumeric(Dest_Cell.Col1) = True Then
XlApp.ActiveSheet.Cells(Dest_Cell.Ligne1, Dest_Cell.Col1).Paste
Else
XlApp.ActiveSheet.Range(CStr(Dest_Cell.Col1) & CStr(Dest_Cell.Ligne1)).Select
XlApp.ActiveSheet.Paste
End If
XlApp.ActiveWorkbook.Save

Do Until XlApp.Workbooks.Count = 0
XlApp.Workbooks(1).Close False
Loop

XlApp.Quit
Set XlApp = Nothing

End Function

-------------------------------
Réponse au message :
-------------------------------

Bonsoir à tous :

Etant débutant en VB, je souhaite créer une routine VB, qui copie une plage de cellule d'un classeur Excel dans un autre classeur, cela sans ouvrir Excel.
Malgré la consultation des codes déjà existant, j'ai du mal pour le moment à les adapter pour mes besoins.
Si qq1 peut m'aider, merci d'avance !

mardi 17 septembre 2002 à 19:47:26 | Re : Copy de cellules

tiflo


Merci pour les infos !


-------------------------------
Réponse au message :
-------------------------------

'Menu Options/Références, cocher Microsoft Excel X.X Object Library
'Dans une form avec un bouton Command1

Option Explicit

Private Type cellules
Classeur As String
Feuille As String
Col1 As Variant
ColN As Variant
Ligne1 As Long
LigneN As Long
End Type

Private Sub Command1_Click()

Dim cellSrc As cellules
Dim cellDest As cellules

With cellSrc
.Classeur = "c:\Src.xls"
.Feuille = "Src"
.Col1 = "A"
.Ligne1 = 1
.ColN = 12
.LigneN = 3
End With

With cellDest
.Classeur = "c:\Dest.xls"
.Feuille = "Cible"
.Col1 = "A"
.Ligne1 = 1
End With


Call CopierCellules(cellSrc, cellDest)

End Sub

Private Function CopierCellules(Src_Cell As cellules, Dest_Cell As cellules)

Dim XlApp As Excel.Application
Dim Cell1 As Excel.Range
Dim CellN As Excel.Range

Set XlApp = New Excel.Application

XlApp.Workbooks.Open Src_Cell.Classeur, , True
XlApp.ActiveWorkbook.Worksheets(Src_Cell.Feuille).Activate

If IsNumeric(Src_Cell.Col1) = True Then
Set Cell1 = XlApp.ActiveSheet.Cells(Src_Cell.Ligne1, Src_Cell.Col1)
Else
Set Cell1 = XlApp.ActiveSheet.Range(CStr(Src_Cell.Col1) & CStr(Src_Cell.Ligne1))
End If

If IsNumeric(Src_Cell.ColN) = True Then
Set CellN = XlApp.ActiveSheet.Cells(Src_Cell.LigneN, Src_Cell.ColN)
Else
Set CellN = XlApp.ActiveSheet.Range(CStr(Src_Cell.ColN) & CStr(Src_Cell.LigneN))
End If

XlApp.Workbooks(1).Worksheets(Src_Cell.Feuille).Range(Cell1, CellN).Copy

If Dir(Dest_Cell.Classeur) <> "" Then
XlApp.Workbooks.Open Dest_Cell.Classeur
Else
XlApp.Workbooks.Add
XlApp.ActiveSheet.Name = Dest_Cell.Feuille
XlApp.ActiveWorkbook.SaveAs Dest_Cell.Classeur
End If

XlApp.ActiveWorkbook.Worksheets(Dest_Cell.Feuille).Activate
If IsNumeric(Dest_Cell.Col1) = True Then
XlApp.ActiveSheet.Cells(Dest_Cell.Ligne1, Dest_Cell.Col1).Paste
Else
XlApp.ActiveSheet.Range(CStr(Dest_Cell.Col1) & CStr(Dest_Cell.Ligne1)).Select
XlApp.ActiveSheet.Paste
End If
XlApp.ActiveWorkbook.Save

Do Until XlApp.Workbooks.Count = 0
XlApp.Workbooks(1).Close False
Loop

XlApp.Quit
Set XlApp = Nothing

End Function

-------------------------------
Réponse au message :
-------------------------------

Bonsoir à tous :

Etant débutant en VB, je souhaite créer une routine VB, qui copie une plage de cellule d'un classeur Excel dans un autre classeur, cela sans ouvrir Excel.
Malgré la consultation des codes déjà existant, j'ai du mal pour le moment à les adapter pour mes besoins.
Si qq1 peut m'aider, merci d'avance !




Cette discussion est classée dans : vb, excel, cellules, classeur, copy


Répondre à ce message

Sujets en rapport avec ce message

Copy cellules [ par tiflo ] Bonsoir à tous :Etant débutant en VB, je souhaite créer une routine VB, qui copie une plage de cellule d'un classeur Excel dans un autre classeur, ce Excel Copy en conservant les cellules invisibles invisible [ par ricomiracle ] Bonjour, J'ai besoin pour une application VB qui se sert d'Excel de copier des onglets du classeurs. FeuilleSource ->FeuilleSource.Copy Mais la feuil Excel et VB [ par djoule86 ] Help !Y'a t'il une bonne âme pour me guider ???* J'ai un modèle Bon de commande.xlt, avec 4 onglets : "Bon Commande Client", "Bon commande vendeur", " VB entre Plusieurs classeurs excel [ par eldim ] Bonjour à tous !Savez-vous comment appeler le code visual basic d'un classeur à partir d'un module d'un autre classeur J'ai besoins d'utiliser les fon Identification des cellules Excel dans VB [ par FGIO51 ] Bonjour, Je viens de voir qu'une partie de mon code s'execute mal car il ne trouve pas mes cellules. Exemple: Au départ je codais ceci: Ran Modifier des données Excel avec VB.NET [ par guisemon ] Bonjour,Je souhaite modifier les cellules et les colonnes d'une feuille excel dont la structure est deja crééevoila ce que je souhaite faire :    Metr enregistrement de classeur excel sans les modules vb [ par payhpayh7 ] Bonjour à tous, je voudrais un code qui m'enregistre mon active classeur en cours sans enregistrer l'ensemble des macros et environnement vb, juste le excel with VB [ par armiss ] comment importer des valeurs dans des cellules d'un classeur excel vers un autre classeur? et si les resultats de ce dernier se trouve sur une clonne Macro-Excel-VB [ par reggenzi ] Bonjour,j'ai un problème avec excel, j'ai un fichier excel A dont le contenu de cellules équivaut au contenu des autres cellules située dans un autre VB.NET souligner des cellules Excel [ par filou ] Bonjour,Depuis VB je crée un fichier excel que je remplis avec des données d'un DataTable.J'aimerai souligner toutes les cellules d'une plage.J'ai ess


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,260 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales