"1004 : La méthode select de la classe Range a échoué" si la form est modale

bouh91

XLDnaute Nouveau
Bonjour j'ai un problème un peu insoluble :
à l'ouverture du classeur je lui demande d'effacer certaines cellules.
Ce qui marche très bien tant que la form qui s'affiche à l'ouverture du classeur n'est pas déclarée comme modale.
Par contre, si je la configure comme modale, VB me gènère une erreur : "Erreur d'exécution 1004 : La méthode select de la classe Range a échoué"
Auriez vous une idée d'où cela peut venir ?

Ci dessous mon code :

Code:
Private Sub Workbook_Open()
    
    UserForm1.Show
    Sheets("Formulaire").Visible = True
    Sheets("Consultation").Visible = False
    Sheets("Data_Base").Visible = False
    Sheets("Formulaire").Activate
    Range("K4,D6,S9,d16,D17,D19,D20,S26,S31,S34,C39").Select
    Selection.ClearContents
    Range("S33") = 1
    Range("D6").Select
    
End Sub

Le clique sur le bouton OK de ma form execute le code suivant

Code:
Private Sub BT_Valide_Nom_Click()

    Range("Nom_Agent").Value = Nom_Agent_Saisi.Value
    Unload UserForm1
    
End Sub

D'avance merci
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : "1004 : La méthode select de la classe Range a échoué" si la form est modale

Bonjour Bouh, bonjour le foroum,

Peut-être comme ça... non testé.

Code:
Private Sub Workbook_Open()
 
UserForm1.Show
Sheets("Formulaire").Visible = True
Sheets("Consultation").Visible = False
Sheets("Data_Base").Visible = False
Sheets("Formulaire").Activate
Range("K4,D6,S9,d16,D17,D19,D20,S26,S31,S34,C39").ClearContents
Range("S33") = 1
ActiveSheet.Range("D6").Select
 
End Sub
 

bouh91

XLDnaute Nouveau
Re : "1004 : La méthode select de la classe Range a échoué" si la form est modale

Bonjour Robert,

Helas maintenant ca me me dit : "1004 : la méthode 'Range' de l'objet '_Global' a echoué"
Et c'est toujours la même ligne qui bug :

Range("K4,D6,S9,d16,D17,D19,D20,S26,S31,S34,C39").ClearContents

Bouuuh, dudure ...
la seul solution que j'ai trouvé pour que mon code fonctionne c'est de mettre la form en modale = false
Et là plus aucun soucis.
Mais bon...
La fonction modale m'interressait dans la mesure ou elle force l'utilisateur à prendre en compte la form.
Tandis que là rien n'empèche la saisie sur la feuille excel se trouvant derrière la form...
Je trouve tout de même ce bug étrange... Comment ce fait il qu'une form modale empèche à sa sortie, la selection de cellules.
Le bug sur le "select" survient effectivement au moment ou je clique sur le bouton "unload" de la form...
Aurais je mal compris quelque chose? ...
 

bouh91

XLDnaute Nouveau
Re : "1004 : La méthode select de la classe Range a échoué" si la form est modale

J'ai du nouveau, ... encore plus étrange ...
Voici le code de mon bouton :

Code:
Private Sub BT_Valide_Nom_Click()

    Range("Nom_Agent").Value = Nom_Agent_Saisi.Value
    Unload UserForm1
    
End Sub

Lorsque je cache la première instructions : 'Range("Nom_Agent").Value = Nom_Agent_Saisi.Value (Nom_Agent_Saisi est une zone de texte sur la form)
Le reste du code s'execute normalement...

Confirmez moi : l'éxecution du fenetre modale bloque l'execution du code ? non ?
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 508
Messages
2 089 143
Membres
104 047
dernier inscrit
bravetta