Message d'erreur VBA que je ne comprend pas
Lysere
-
Lysere -
Lysere -
Bonjour,
Voilà, je met en place un petit programme automatisé excel, mais je suis face à un problème que je n'arrive pas à résoudre moi-même malgré un certain nombre de recherches.
L'objectif de ce classeur est que mes agents saisissent un certain nombre de formulaires, une fois cela fait, ils doivent archiver les documents par le biais d'une macro d'archivage puis imprimer le rapport synthétique qui s'est crée.
J'ai donc rajouté une petite macro VBA supplémentaire permettant de contrôler que l'archivage a bien été effectué.
Or, lorsque je tente de tester ma macro j'obtiens le message d'erreur suivant :
Un appel de fonction dans la partie gauche de l'affectation doit renvoyer Variant ou Object
Il s'agit d'un message d'erreur que je ne comprend pas, ne pratiquant pas le VBA depuis très longtemps.
Lors de l'interruption de la macro et du lancement du mode débogage, il me surligne en jaune la partie suivante
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Je n'arrive pas à voir ou j'ai fais une erreur
Voici la macro que j'ai crée à cette fin, en espérant trouver une solution.
J'ai beau retourner le problème... quelque chose m'échappe. Peut-être parce que je bosse sur ce fichier depuis trop longtemps.
Quelqu'un a-t-il une idée ?
Voilà, je met en place un petit programme automatisé excel, mais je suis face à un problème que je n'arrive pas à résoudre moi-même malgré un certain nombre de recherches.
L'objectif de ce classeur est que mes agents saisissent un certain nombre de formulaires, une fois cela fait, ils doivent archiver les documents par le biais d'une macro d'archivage puis imprimer le rapport synthétique qui s'est crée.
J'ai donc rajouté une petite macro VBA supplémentaire permettant de contrôler que l'archivage a bien été effectué.
Or, lorsque je tente de tester ma macro j'obtiens le message d'erreur suivant :
Un appel de fonction dans la partie gauche de l'affectation doit renvoyer Variant ou Object
Il s'agit d'un message d'erreur que je ne comprend pas, ne pratiquant pas le VBA depuis très longtemps.
Lors de l'interruption de la macro et du lancement du mode débogage, il me surligne en jaune la partie suivante
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Je n'arrive pas à voir ou j'ai fais une erreur
Voici la macro que j'ai crée à cette fin, en espérant trouver une solution.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Avant impression, contrôle de l'archivage effectué
'aller sur la feuille archivage
Sheets("ARCHIVAGE").Select
'selection de la cellule A1
Range("A1").Select
'procéder à un CTRL+flèche vers le bas pour atteindre la dernière cellule complétée.
Selection.End(xlDown).Select
'copier la dernière cellule complétée
Selection.Copy
'retourner sur la feuille calculateur
Sheets("CALCULATEUR").Select
'selectionner la cellule A41
Range("A41").Select
'coller
ActiveSheet.Paste
'incrémenter la cellule A41
Range("A41") = Range("A41") + 1
'comparaison de la cellule A41 à la cellule A44
If Range("A41") <> Range("A44") Then
'les valeurs des deux cellules sont différentes
'message d'alerte avec choix de l'utilisateur, fermer le fichier quand même ou archiver
MsgBox("ALERTE ! La saisie en cours n'a pas été archivée, voulez-vous procéder à l'archivage maintenant ?" _
, vbYesNo) = vbYes
'l'utilisateur a cliqué sur 'OUI' et souhaite procéder à l'archivage
Application.Run ("archivageV2")
End
End If
End Sub
J'ai beau retourner le problème... quelque chose m'échappe. Peut-être parce que je bosse sur ce fichier depuis trop longtemps.
Quelqu'un a-t-il une idée ?
A voir également:
- Message d'erreur VBA que je ne comprend pas
- Recuperer message whatsapp supprimé - Guide
- Message supprimé whatsapp - Guide
- Message absence thunderbird - Guide
- Epingler un message whatsapp - Accueil - Messagerie instantanée
- Message du pere noel gratuit whatsapp - Accueil - Messagerie instantanée
1 réponse
Voilà, j'ai fais une pause, tapé sur deux trois collègues (seulement imaginairement) respiré un peu d'air frais, et la solution m'a sauté au visage comme un je sais pas quoi sur son je sais pas qui
Corrigé avec les éléments suivants, ça va mieux
Le problème était que j'avais une Msgbox avec un choix pour l'utilisateur, mais pas de fonction If permettant de déterminer l'utilité et la destination du choix (terme imprécis, mais je suis fatigué, j'espère être compréhensible)
Corrigé avec les éléments suivants, ça va mieux
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Avant impression, contrôle de l'archivage effectué
'aller sur la feuille archivage
Sheets("ARCHIVAGE").Select
'selection de la cellule A1
Range("A1").Select
'procéder à un CTRL+flèche vers le bas pour atteindre la dernière cellule complétée.
Selection.End(xlDown).Select
'copier la dernière cellule complétée
Selection.Copy
'retourner sur la feuille calculateur
Sheets("CALCULATEUR").Select
'selectionner la cellule A41
Range("A41").Select
'coller
ActiveSheet.Paste
'incrémenter la cellule A41
Range("A41") = Range("A41") + 1
'comparaison de la cellule A41 à la cellule A44
If Range("A41") <> Range("A44") Then
'les valeurs des deux cellules sont différentes
'message d'alerte avec choix de l'utilisateur, fermer le fichier quand même ou archiver
If MsgBox("ALERTE ! La saisie en cours n'a pas été archivée, voulez-vous procéder à l'archivage maintenant ?" _
, vbYesNo) = vbYes Then
'l'utilisateur a cliqué sur 'OUI' et souhaite procéder à l'archivage
Application.Run ("archivageV2")
End
End If
End If
End Sub
Le problème était que j'avais une Msgbox avec un choix pour l'utilisateur, mais pas de fonction If permettant de déterminer l'utilité et la destination du choix (terme imprécis, mais je suis fatigué, j'espère être compréhensible)