[copie coller fichier excel en VB]

Sandra -  
 Sandra -
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

10 réponses

  1. james
     
    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
  2. sandra
     
    bonjour james

    oui c'est parfaitement ce que je veux faire

    merci d'avance
    0
  3. sam3000 Messages postés 1226 Statut Membre 144
     
    salut,
    tu vas utiliser le VBA intégré à excel ou Visual Basic 6?
    0
  4. Armojax Messages postés 1863 Date d'inscription   Statut Membre Dernière intervention   1 529
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Sandra
     
    bonjour Sam3000,Armojax et forum

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

    merci
    0
  7. sam3000 Messages postés 1226 Statut Membre 144
     
    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
  8. Sandra
     
    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
  9. sam3000 Messages postés 1226 Statut Membre 144
     
    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
  10. Sandra
     
    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
  11. Sandra
     
    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