Appelé une macro depuis une autre

Angelo7891

XLDnaute Junior
bonjour le forum
alors voila j'ai fais un programme avec plusieur macros :

macro1 appel macro2
et macro2 appel macro3

hélas j'ai une erreur :
Type d'argument Byref imcompatible

et je comprend pas d'ou peut provenir cette erreur ?
 

Angelo7891

XLDnaute Junior
Re : Appelé une macro depuis une autre

ba c'est ce que je fais justement ... c'est pour ca que je comprend pas ...
voivi une parti de mon code :

Code:
Sub Semaine()

Dim Jour As Integer
Dim Mois As Integer
Dim Annee As Integer
Dim d As Date
Dim wd As Integer
Dim NbJourMoisEnCours As Integer
Dim NbjourMoisPrecedent As Integer
Dim Classeur As Workbook
Dim ClasseurSave As Workbook



Sheets("Feuil2").Visible = True

Jour = Day(Now)
Mois = month(Now)
Annee = year(Now)
Mois2 = Format("01/" & Mois - 1 & "/" & Annee, "mmmm")
Sheets("Feuil2").Select
NbColonne = Range("B5").Value

Sheets("Feuil1").Select 'changement de feuille

d = "1/" & Mois & "/" & Annee

wd = WeekDay(d, vbMonday)

chemin = ActiveWorkbook.Path

NbJourMoisEnCours = DaysInThisMonth(Mois, Annee)
NbjourMoisPrecedent = DaysInThisMonth(Mois - 1, Annee)

Set Classeur = ThisWorkbook
stFichier = chemin & "\..\Reporting GPAC\Production mensuelle\Domaine1\" & Mois2 & " " & Annee & ".xls"


Set ClasseurSave = Workbooks.Open(stFichier)
'premiere semaine du mois : permet de récupérer les info du mois précedents
Select Case wd
    
    Case 2:
        Classeur.Sheets(1).Cells(10, NbColonne + 3).Value = Classeur.Sheets(1).Cells(10, NbColonne + 3).Value + ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 5, NbColonne + 3).Value
    Case 3:
        Classeur.Sheets(1).Cells(9, NbColonne + 3).Value = Classeur.Sheets(1).Cells(9, NbColonne + 3).Value + ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 4, NbColonne + 3).Value + ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 5, NbColonne + 3).Value
    Case 4:
        Classeur.Sheets(1).Cells(8, NbColonne + 3).Value = Classeur.Sheets(1).Cells(8, NbColonne + 3).Value + ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 3, NbColonne + 3).Value + ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 4, NbColonne + 3).Value + ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 5, NbColonne + 3).Value
    Case 5:
        Classeur.Sheets(1).Cells(7, NbColonne + 3).Value = Classeur.Sheets(1).Cells(7, NbColonne + 3).Value + ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 2, NbColonne + 3).Value + ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 3, NbColonne + 3).Value + ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 4, NbColonne + 3).Value + ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 5, NbColonne + 3).Value
    Case 6:
        Classeur.Sheets(1).Cells(6, i).Value = Classeur.Sheets(1).Cells(6, i).Value + ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 1, NbColonne + 3).Value + ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 2, NbColonne + 3).Value + ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 3, NbColonne + 3).Value + ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 4, NbColonne + 3).Value + ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 5, NbColonne + 5).Value
    Case 7:
        'total des recus
        If Classeur.Sheets(2).Cells(14, 2).Value <> 0 And Classeur.Sheets(2).Cells(14, 2).Value <> "" Then
            Classeur.Sheets(1).Cells(6, NbColonne + 1).Value = ClasseurSave.Sheets(1).Cells(NbjourMoisPrecedent + 5, NbColonne + 1).Value / Classeur.Sheets(2).Cells(14, 2).Value
        End If
        'total des traités
                
End Select


ClasseurSave.Close

    
Sheets("Feuil2").Visible = False

Pourcentage

End Sub

Sub Pourcentage()

Jour = Day(Now)
Mois = month(Now)
Annee = year(Now)
Mois2 = Format("01/" & Mois - 1 & "/" & Annee, "mmmm")
NbJourMoisEnCours = DaysInThisMonth(Mois, Annee)
NbjourMoisPrecedent = DaysInThisMonth(Mois - 1, Annee)

Sheets("Feuil2").Visible = True
d = "1/" & Mois & "/" & Annee
...

c'est en appelant Pourcentage que l'erreur arrive
 

Discussions similaires