Erreur 1004, la methode range dans l'objet global a échoué

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Menibelus

XLDnaute Nouveau
Bonjour,

J'avance sur mon projet mais la je suis bloqué, j'ai un formulaire de saisie pour mon personnel et pour l'adresse et plus précisément le code postal et la ville je fas appelle à un autre userform "Usf_Insee" mais que je le lance j'ai le message "Erreur 1004, la methode range dans l'objet _global a échoué"
Je ne vois pas ou est le problème

Pourriez-vous m'aider ?
 

Pièces jointes

Bonjour.
Le nom 'bddata' est défini avec une étendue réduite au niveau de la feuille, et non du classeur.
La méthode Range de l'objet Worksheet quant à elle ne plante pas :
ListeVille = Feuil2.Range("bddata").Value
Remarque: le nom existe aussi au niveau global mais sa clé y est alors préfixée du nom de l'onglet :
ListeVille = Range("BD!bddata").Value

Attention: Ça plante plus loin pour une autre raison …
 
Dernière édition:
Oui, ça fait beaucoup de lignes et de colonnes tout ça !
Ne pourriez vous pas mettre votre plage sous forme de tableau et ne prendre que la partie effectivement utilisée de tout ça (ce sera la propriété DataBodyRange du ListObject qui le représentera) ?
 
Oui, ça fait beaucoup de lignes et de colonnes tout ça !
Ne pourriez vous pas mettre votre plage sous forme de tableau et ne prendre que la partie effectivement utilisée de tout ça (ce sera la propriété DataBodyRange du ListObject qui le représentera) ?
Du coup j'ai repris cela à zéro et prenant un exemple de Boisgontier Jacques que j'ai adapté mais là encore je ne comprend pas excel me demande de définir les variable bd, a , b dans le code suivant :
VB:
Private Sub UserForm_Initialize()
  Set f = Sheets("BDdata")
  Set bd = Range("a2:d" & [A65000].End(xlUp).Row)
  a = Application.index(bd, , 1)
  Tri a, 1, 1, UBound(a)
  '--villes +codes postaux
  ListeVille = Range("T_Ville").Value
  Me.ComboVille.List = ListeVille
  b = Application.index([T_Ville], Evaluate("Row(1:" & [T_Ville].Rows.Count & ")"), Array(2, 1))
  Tri b, 1, 1, UBound(b)
  Me.CodePostal.List = b

End Sub
or sur le fichier exemple ces variables ne sont déclarées nul part 😵

Je vous joint mon nouveau classeur, pourriez vous me dire ce que j'ai mal fait ?

Merci
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
862
Retour