Menu

Erreur d'exécution '438'

Messages postés
2
Date d'inscription
jeudi 7 mars 2019
Dernière intervention
7 mars 2019
-
Bonjour,

je suis en train de réaliser un questionnaire sur plusieurs feuilles et il y a une erreur type 438 quand je fais tourner la macro suivante à partir d'un bouton :

Sub Modif_Infos()
Dim Rep As Integer
Rep = MsgBox("Souhaitez-vous retourner à la page précédente ?", vbYesNo + vbQuestion, "Modifier mes informations")
    If Rep = vbYes Then
        Range("I30:I43").Select
        Selection.ClearContents
        [GraphZeroVeg].ClearContents
        Sheets("Tableaux et Listes").Select
        [Tableau_Graph].Select
        Selection.CearContents
        Sheets("Caractéristiques exploitation").Select
    Else
        Range("A1").Select
    End If
End Sub


L'objectif du code est simplement de supprimer le contenu de certaines cellules et d'un tableau si l'utilisateur veut revenir sur les feuilles précédentes pour modifier les informations qu'il avait rentré. Le problème c'est qu'avec l'erreur 438 le logiciel ne me dit pas à quelle ligne se trouve l'erreur ! J'ai beau vérifier chaque ligne je ne trouve pas le problème.

Merci d'avance

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
Afficher la suite 

Votre réponse

2 réponses

Messages postés
14140
Date d'inscription
dimanche 16 décembre 2007
Dernière intervention
16 mars 2019
2245
0
Merci
Bonjour

voir ligne 10
EGAL_22
Messages postés
2
Date d'inscription
jeudi 7 mars 2019
Dernière intervention
7 mars 2019
-
Merci j'avais mal recopié le code, mais même après correction le problème est toujours le même..
Commenter la réponse de Redbart
Messages postés
7683
Date d'inscription
dimanche 13 juin 2010
Dernière intervention
22 mars 2019
1667
0
Merci
Bonjour,

« Le problème c'est qu'avec l'erreur 438 le logiciel ne me dit pas à quelle ligne se trouve l'erreur ! »
C'est pas à cause de l'erreur mais simplement du fait que le code ne situe pas dans un module standard.

Edit : évites les .Select inutiles !
Par exemple, au lieu de :
       Range("I30:I43").Select
        Selection.ClearContents

écrire :
      Range("I30:I43").ClearContents


Cordialement
Patrice
Commenter la réponse de Patrice33740