[copie coller fichier excel en VB]

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

      oui c'est parfaitement ce que je veux faire

      merci d'avance
      0
      1. salut,
        tu vas utiliser le VBA intégré à excel ou Visual Basic 6?
        0
        1. 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
          1. bonjour Sam3000,Armojax et forum

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

            merci
            0
            1. 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
              1. 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
                1. 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
                  1. 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