|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Copy de cellules [ Archives Visual Basic / VBA ] (tiflo)
Informations & options pour cette discussion
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é 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
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|