Erreur 1004, méthode clearContents de la classe Range a échoué

anto59

XLDnaute Junior
Erreur 1004, méthode clearContents de la classe Range a échoué[Résolu]

Bonjour à tous,

J'ai un petit problème sur une ligne de code apparement pas très compliqué.
Sheets("Table").Range("G2:G500").ClearContents

En fait, j'apporte grâce à une requête sql et un userform des données d'une base access dans la colonne G. Et avant de les copier, j'aimerais bien effacé le contenu de la colonne G. Ce qui est bizare, c'est que ce problème ne survient pas la première fois que je clique sur le bouton commande qui fait apparaitre le userform, mais il survient au deuxième clique.
Il y a certainement quelque chose qui s'initialise la première fois et plus après mais je vois pas du tt ce que ca peut etre.

J'ai essayé pas mal de méthode vu sur le forum mais rien ne marche.
Merci d'avance
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Erreur 1004, méthode clearContents de la classe Range a échoué

Bonjour Anto59 :),
A mon avis, le problème vient plutôt que tu efface des données dans une connexion SQL (la première fois, la connexion n'existe pas).
Essaie de supprimer ta connexion d'abord
Code:
ActiveWorkbook.Connections("test").Delete
et tu ne devrais plus avoir le problème.
Bonne journée :cool:
 

anto59

XLDnaute Junior
Re : Erreur 1004, méthode clearContents de la classe Range a échoué

Bonjour JNP,
j'ai essayé ton idée mais ca n'a pas l'air de mieux fonctionné.

En fait, pour etre plus precis, j'ai deux listes déroulantes.

Quand l'utilisateur change la valeur de la première liste déroulante, le programme supprime les valeurs de la colonne G et les remplace par la requête associé au choix de la première liste pour ensuite les mettre dans la deuxième liste déroulante.

Quand je lance mon programme la première fois, et que je change plein de fois le choix de la première liste, il efface bien la colonne G pour changer ses valeurs. Pourtant la connexion n'est pas plus fermée que quand je quitte le userform avec un bouton valider ou annuler...
Vu que je débute un peu en programmation j'ai beaucoup de mal avec tout ca.
 

JNP

XLDnaute Barbatruc
Re : Erreur 1004, méthode clearContents de la classe Range a échoué

Re :),
Ça ne va pas être facile sans un minimum de ton fichier, sachant qu'en plus nous ne pourrons pas exécuter ta requête SQL :eek:...
Vois ce que tu peux nous mettre en ligne, sans données confidentielles ;).
Bon courage :cool:
 

anto59

XLDnaute Junior
Re : Erreur 1004, méthode clearContents de la classe Range a échoué

Oui c'est vrai désolé.
Voilà un essai avec une des fausses données.
Pour l'instant, il n'y a que les listes supplier_compressor et model_compressor (en bas du userform) qui se mette à jour en fonction du premier choix.

La ligne de code se trouve dans le code du userform.
Pour la voir il suffit de faire une premiere validation dans le userform et de le relancer :)
 

Pièces jointes

  • essai.zip
    42.4 KB · Affichages: 63
  • essai.zip
    42.4 KB · Affichages: 64
  • essai.zip
    42.4 KB · Affichages: 62

camarchepas

XLDnaute Barbatruc
Re : Erreur 1004, méthode clearContents de la classe Range a échoué

Bonjour,

Aurais -tu renomé une listbox car j'ai en permanance un problème d'objet nom trouvé :

Me.List_supplier_Syst_Prop sur le userform je ne trouve que List_Syst_Prop
 

anto59

XLDnaute Junior
Re : Erreur 1004, méthode clearContents de la classe Range a échoué

Non je crois que j'ai eu un problème lors de l'enregistrement.
Je renvoie le nouveau fichier.
 

Pièces jointes

  • Petite visualisation.zip
    30.8 KB · Affichages: 66

anto59

XLDnaute Junior
Re : Erreur 1004, méthode clearContents de la classe Range a échoué

Bonjour,
pour ce qui est d'activer la feuille, j'ai déjà testé mais sans succès malheureusement.
Et pour le fichier access, il est dans le premier fichier zip que j'ai envoyé appelé essai.zip.
 

anto59

XLDnaute Junior
Re : Erreur 1004, méthode clearContents de la classe Range a échoué

Bonjour,
je relance le sujet mais est ce que le problème peut venir du fait que le clearcontents s'effectue à l'ouverture du userforme.
Donc le programme ne peut plus aller sur la feuille où je lui demande d'effacer la colonne.
Je me trompe?
Et si j'ai bon, il faut que j'arrive à faire en sorte que la valeur de la liste déroulante ne change pas entre la fermeture et l'ouverture du userforme mais je vois pas trop comment faire.
Merci pour votre aide.
 

anto59

XLDnaute Junior
Re : Erreur 1004, méthode clearContents de la classe Range a échoué

Bon apparement, c'était bien ce problème là.
J'ai ajouter à la fin de la sub OK_click quelques lignes pour remettre les liste déroulante vide:
list_model_compressor.ListIndex = -1
Et il n'y a plus aucun problème.
Merci à tous
 

Discussions similaires