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)

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


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.