Bonjour,
Je suis débutante en VBA et je dois automatiser un fichier dans l'entreprise où je réalise mon stage:
J'ai 2 fichiers
1/ Données
2/ Synthèse des données
La macro que je souhaite réaliser doit me donner ceci :
1/Dans le fichier synthèse lorsque je clique sur le bouton de ma macro, le fichier données doit s'ouvrir
2/ Dans le fichier synthèse dans la cellule K5 faire la somme si :
dans le fichier données en colonne A j'ai le compte "63" et "65" et dans la colonne B "contractuels" alors tu me fait la somme de la colonne H
Pour ouvrir le fichier (1) pas de souci la macro fonctionne mais c'est mon somme si qui ne fonctionne pas. J'ai testé plusieurs écritures de code et là je craque : il y a soit une erreur d'exécution incompatibilité de type soit une erreur de syntaxe
Voici quelques exemples de mes tests :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Sub Ouverture_Données() Dim Fichier As Variant Dim Données As Workbook 'Déclare la variable cs comme classeur source Fichier = Application.GetOpenFilename If Fichier = False Then Exit Sub Workbooks.Open Fichier Set Hypothèse_données = ActiveWorkbook Sheets("Synthèse").Activate.Cells("K5").Value = ApplicationWorksheetfunction.SumIf(Données!Range("A:A"), "=63" Or "65" & Range("b:b"), "=contractuels", Range("h:h")) Else MsgBox "ERROR" End If End Sub
2ème essai
3ème essai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Sheets("Synthèse").Activate.Cells("K5").Value = ApplicationWorksheetfunction.SumIf(données!Range("A:A"), "63" Or "65" & Range("b:b"), "contractuels", Range("h:h"))
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 If Workbooks("données").Worksheets("Analytique").Columns("A").Select = "63" Or "65" & Columns("b") = "contractuel" Then Sheets("Synthèse").Cells("5,12").Value = ApplicationWorksheetfunction.Sum(données!Sheets("Analytique").Columns("h")) Else MsgBox "ERROR" End If
... ET BIEN D'AUTRES ESSAIS!!!!
Si j'arrive à trouver mon code sur cette ligne, je vais pouvoir l'appliquer à tout mon fichier synthèse..
help me
Partager