[Catégorie modifiée VB6 -> VBA] [Macro VBA excel 2007filtrer ]sommer des donnée

mohhh166 Messages postés 4 Date d'inscription mardi 14 juin 2011 Statut Membre Dernière intervention 14 juin 2011 - 14 juin 2011 à 16:51
mohhh166 Messages postés 4 Date d'inscription mardi 14 juin 2011 Statut Membre Dernière intervention 14 juin 2011 - 14 juin 2011 à 21:17
Bonjour à tous
je suis coinsé pour faire une macro sur excel 2007 qui me calcule des somme filtrer d'un fichier excel ,en fait ce que je veux faire un botton qui récupre les donner d'une base de donner excel apres les coller dans une feuil de mon fichier excel(ça c fait) ,apres fair un 2eme bouton qui fait l' exportation de ces donner: je veux calculer la somme des la collone B/somme de la collone C pour chaque mois(colonne D: mois ) apres copier le resultat dans la feuil 4 dans mon fichier excel pour chaque mois .
le but c faire une automatisation des données pour chaque mois recupérer toutes les données avec la mise à jour et exporter c'est données dans une feuil de mon fichier pour me donner le resultat de la somme pour chaque mois


Merci d'avance,

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
14 juin 2011 à 20:04
Salut

Ne sachant pas ce que tu as déjà fait, impossible de t'aider.
Quel est ton problème ?
L'enregistreur de macro ne peut-il te secourir ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
mohhh166 Messages postés 4 Date d'inscription mardi 14 juin 2011 Statut Membre Dernière intervention 14 juin 2011
14 juin 2011 à 21:17
bonsoir,
Mon probelme c'est de faire une macro en excel 2007 qui me calcule la somme des données que je les recupère d'un fichier excel pour chaque moi ,
les données sont accorder par semaine donc ce que je veux c sommer les donner pour chaque mois apres coller le resultat dans une autre feuil en utilisant une macro (faire un automatisation)
ce que j'ai pu faire pour l'instant c'importer les données dans mon fichier et une macro qui fait le tri
j'ai besoi d'une aide pour modifier la macro trier et calculer la somme des donnée pour chaque mois


Sub Bouton1_Clic()
Reponse = MsgBox("Voulez vous charger l'Export de classeur1 pour l'année " & Range("B" & Range("D100")) & "?", vbQuestion + vbYesNo)
        
If Reponse = vbYes Then
    Fichier = Application.GetOpenFilename("Fichier Excel, *.csv; *.xlsm;*.xls;*.xla;*.xlsx")
  
    
    'Range("A1:Z300000").Value = Null
  If Fichier <> False Then
  
  'ici je veux filtrer le fichier par exmple copier just les colonnes A B C et  juste les lignes des  semaine 1 2 3 4 de classeur1
    Annee = Range("C100")
    
    Sheets(Annee).Activate
    Var_chemin = Fichier
    Fichier1 = ActiveWorkbook.Name
    Workbooks.Open Var_chemin, local:=True
    Fichier2 = ActiveWorkbook.Name
    
    Workbooks(Fichier2).Sheets(1).Range("A1:Z300000").Copy Workbooks(Fichier1).Sheets(Annee).Range("A1:Z300000")
    

    Windows(Fichier2).Activate
    'ActiveWindow.Close
    ActiveWorkbook.Close savechanges:=False
    Windows(Fichier1).Activate
    Sheets("feuil1").Activate
    'Range("A1:Z300000").Select
    'ActiveSheet.Paste
  Else
    MsgBox "Vous n'avez exporté aucun fichier"
  End If
  
End If
End Sub



Sub Bouton21_Clic()
'je veux modifier la fonction trier pour qu'elle puisse me calculer(la somme colonne B pour chaque mois /somme colonneF pour chaque mois
    'aprés coller le resultat dans la feuil 4 pour chaque moi
    Dim i&, fin&, aa As Variant, bb As Variant, a&
    With Feuil3
        fin = Feuil3.Range("A" & Rows.Count).End(xlUp).Row
        y = 1
        aa = Feuil3.Range("A2:D" & fin)
        For i = 1 To UBound(aa)
            aa(i, 4) = ""
        Next i
        For i = 1 To UBound(aa)
            If aa(i, 1) >= 1 And aa(i, 1) <= 4 Then aa(i, 4) = "oui": y = y + 1
        Next i
        If y = 1 Then Exit Sub
        ReDim bb(y - 1, 3)
        y = 1
        For i = 1 To UBound(aa)
            If aa(i, 4) = "oui" Then
                For a = 1 To 3
                    bb(y, a) = aa(i, a)
                Next a
                y = y + 1
            End If
        Next i
    End With
    Feuil2.Cells.Clear
    
    'je veux modifier la fonction trier pour qu'elle puisse me calculer(la somme colonne B pour chaque mois /somme colonneF pour chaque mois
    'aprés coller le resultat dans la feuil 4 pour chaque moi
    Feuil2.Range("A1").Resize(UBound(bb), UBound(bb, 2)) = bb

End Sub


Merci d'avnace
0
Rejoignez-nous