[copie coller fichier excel en VB]

Fermé
Sandra - 18 mai 2005 à 11:31
 Sandra - 20 mai 2005 à 12:38
bonjour forum

j'ai un fichier excel où il ya en colonne A des date et en colonne B des prix.Ce fichier je le considére comme mon fichier source, j'ai créer un fichier destination et je voudrais copier les 100 premiers valeurs (prix et dates) pour les mettre dans mon fichier destination.Et à partir des 100 valeurs du fichier source je calcule une moyenne et ecart type par 50 valeur que je mette dans le fichier destination.

Si quelqu'un peut m'aider je lui serai reconnaissant
merci d'avance
A voir également:

10 réponses

bonjour Sandra
si je comprends bien tu veut recopier les 100 premier valeurs de ton fichier source que tu colle sur ton fichier destination et prendre par groupe de 50 valeurs tu calule leur moyenne et ecart type et tu les mets à la suite des 100 valeurs
est ce bien ca?
0
bonjour james

oui c'est parfaitement ce que je veux faire

merci d'avance
0
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
18 mai 2005 à 17:03
salut,
tu vas utiliser le VBA intégré à excel ou Visual Basic 6?
0
Armojax Messages postés 1858 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mars 2024 1 528
18 mai 2005 à 18:57
Hello Sandra,

Voici une trame, que tu peux adapter à ton cas précis.

Sub Allons_y()

  Application.ScreenUpdating = False
  
  ' Pour copier d'un classeur dans l'autre
  ' copie des lignes 2 à 101 (entête supposée)

  Sheets("Orig").Range(Cells(2, 1), Cells(101, 2)).Copy
  Workbooks("Classeur2").Sheets("Dest").Activate
  Cells(1, 1).Select
  ActiveSheet.Paste
  ThisWorkbook.Sheets("Orig").Activate
  
  ' Assiette : plage de données sur laquelle on calcule
  ' l'écart-type et la moyenne - à adapter

  Dim Assiette As Range
  Set Assiette = Range(Cells(2, 2), Cells(51, 2))
  
  EcartType = Application.WorksheetFunction.StDev(Assiette)
  Moyenne = Application.WorksheetFunction.Median(Assiette)

  ' Mettre les résultats dans les cellules voulues de la feuille "Dest"
  Workbooks("Classeur2").Sheets("Dest").Cells(2, 10).Value = EcartType
  Workbooks("Classeur2").Sheets("Dest").Cells(3, 10).Value = Moyenne
  
  Application.ScreenUpdating = True
  
End Sub
A toi de définir les emplacements précis où tu veux coller les données. C'est seulement une base de départ...

Ajx.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bonjour Sam3000,Armojax et forum

Sam3000: je voudrais utilisé le visual basic 6
Armojax, je vais tester ton programme pour voir

merci
0
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
19 mai 2005 à 10:23
salut,
si tu veux utiliser VB6, alors tu peux commencer par voir l'exemple VB_ADO_EXCEL sur ce site (il se peut que tu dois attendre un petit moment pour la disparition des pub de lycos avant de pouvoir acceder aux liens)

http://membres.lycos.fr/sam3000/v2/index.php?act=shares
0
j'ai déja réalisé cette étape mon probléme c'est le copie coller des 100 premiers valeure et copie des moyenne et ecart type par 50valeurs
merci
0
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
19 mai 2005 à 11:49
n'y a t'il pas moyen d'identifier les lignes à grouper (50 valeurs) à travers un champs particulier (une valeur qui est la meme pour chaque groupe de 50 valeurs)?
0
salut sam3000

je vais t'expliquer ce que je veux faire:

j'ai su le classeur de mon fichier source:

en colonne A des dates
en colonne B des prix

je voudrais copier les 100 premiers valeurs de la colonne A et B et je le colle sur mon fichier destination

et ensuite le reste des valeurs de mon fichier source, je calcul dabord une moyenne sur 50 valeurs, la copier et la colle sur mon fichier destination
Donc je pense pas qu'il ait moyen d'identifier les lignes à grouper (50 valeurs) à travers un champs particulier (une valeur qui est la meme pour chaque groupe de 50 valeurs)

C'est une succession de valeurs
j'espére que c'est claire
merci
0
Bon forum,

j'ai creé ce programme pour copier mes 100 premiers valeur de mon fichier soures pour les creer sur mon fichier destination
mais quan je j'exécute il me dit: l'objet ne gére pas cette propriété ou cette methode et il souligne ( cells(2, i).Selection )
esct ce que quelqu'un a une idée?
merci

Private Sub Command1_Click()

Dim i as integer
''' Ouverture fichier source
Workbooks.Open FileName:= _
"C:\Nouveau dossier\tata.xls"

Sheets(1).Select
For i = 1 To 100
cells(2, i).Selection
Selection.Copy
Next i

'creation nouveau classeur
Set XL = New Excel.Application 'ouvre excel
XL.Visible = True
XL.Workbooks.Add 'ouvre un nouveau classeur

Sheets(1).Select
Sheets(1).Activate
Sheets(1).Paste
Windows("tata.xls").Activate
ActiveWorkbook.Close

End Sub
0