Erreur d'exécution '5' Argument ou appel de procédure incorr

Bonjour

J'ai un problème de bog avec le fichier inséré.

Lorsque je clic sur le bouton "MàJ à Faire" une boite de deboggage s'affiche: Erreur d'exécution '5'

Argument ou appel de procédure incorrecte

J'utilisais auparavant ce même bouton dans un autre classeur qui fonctionnait très bien.

J'ai transféré les codes dans un nouveau classeur et depuis c'est ce qui se passe.

Je n'arrive pas a comprendre pourquoi c'est ainsi.

Merci pour votre support

bigari

13pb-de-bog.xlsx (197.78 Ko)

Bonjour,

Il n'y a pas de programme à ton fichier ???

Impossible de chercher la source sans cela.

Bonjour ,

ou est le code dans le le fichier ?

Désolé, voici le bon fichier

bigari

16pb-de-bog.xlsm (206.96 Ko)

Bonjour,

je vois le code du Public Sub Workbook_Open() mais pas le macro affecter au bouton.

de plus dans le code le "With Worksheets("Feuil1")" est inutile vu que vous avais qu'un feuille même si vous avez plusieurs feuilles

le "with" est inutile vu que la 1er ligne est worksheet.activate...

Bonjour

Voici les codes:

La Macro affecté au bouton est Sub BoutonMAJ_Clique()

Option Explicit

Public Sub Workbook_Open()

Dim JourJ As Date, SemCour, SemDerMaJ

With Worksheets("Feuil1")

.Activate

SemCour = Application.WorksheetFunction.WeekNum(Date, 21)

SemDerMaJ = Application.WorksheetFunction.WeekNum(.Range("g6"), 21)

If SemCour <> SemDerMaJ Then

.Shapes("BoutonMAJ").Select

Selection.Font.ColorIndex = 3

Selection.Characters.Text = "MàJ Faite ?"

.Range("g5").Select

.Range("g5") = "MàJ à faire"

.Range("g5").Interior.Color = RGB(255, 100, 100)

MsgBox "Vous devez faire la mise à jour SVP.", vbCritical

Else

.Shapes("BoutonMAJ").Select

Selection.Font.ColorIndex = 10

Selection.Characters.Text = "MàJ OK"

.Range("g5").Select

.Range("g5") = "MàJ réalisée"

.Range("g5").Interior.Color = RGB(140, 255, 80)

End If

End With

End Sub

Option Explicit

Sub BoutonMAJ_Clique()

With Sheets("Feuil1")

If .Range("g5") = "MàJ réalisée" Then

MsgBox "La mise à jour a déjà été faite le :" & vbLf & vbLf & _

Format(.Range("g6"), "ddd dd mmm yyyy"), vbInformation

Else

If MsgBox("Êtes vous certain d'avoir bien réalisé la mise à jour ?'," _

, vbQuestion + vbYesNo + vbDefaultButton2, "Mise à jour faite ?") = vbYes Then

.Range("g6") = Date

.Range("g7") = Environ("username")

End If

End If

ThisWorkbook.Workbook_Open

End With

End Sub

Merci pour votre support

bigari

à quels ligne le débuggeur vous affiche cette erreur .

je doute que cette ligne de code vous donne quelque chose

ThisWorkbook.Workbook_Open

Bonjour

Vous aviez raison, le bog ne s'affiche plus. J'ai enlevé la ligne: ThisWorkbook.Workbook_Open

Seulement, la macro ne s'exécute qu'a moitié.

Les mesages MàJ à faire et maJ réalisée ne s'affiche pas

De plus, lorsque j'ouvre le classeur un bog s'affiche à la ligne

.Shapes("BoutonMAJ").Select

Dans le fichier joint, tout fonctionne bien par contre, et c'est le même code que j'ai copié et collé dans mon nouveau classeur

Merci

bigari

13mgs-box-bouton.xlsm (71.92 Ko)

bonjour

' SemCour = Application.WorksheetFunction.WeekNum(Date, 21) 21  = !?!?
' SemDerMaJ = Application.WorksheetFunction.WeekNum(.Range("g6"), 21) 21 = !?!?
'WorksheetFunction.WeekNum(Arg1, Arg2)
'Arg2 : Return_type     Semaine commençant
'1                      Semaine commençant le dimanche. Les jours de la semaine sont numérotés de 1 à 7.
'2                      Semaine commençant le lundi. Les jours de la semaine sont numérotés de 1 à 7.

'ThisWorkbook.Workbook_Open 'pour quoi vous vouler ouvrir un un classeur est déja ouvert  non
'ThisWorkbook.Workbook_Open ' ou bien je pense que vous voulez appler le prcedure de l'event Workbook_Open non
'vérifier toujours l afection des maros aux boutons lorts des copies de boutons ou de procédures
Rechercher des sujets similaires à "erreur execution argument appel procedure incorr"