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

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 ?
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
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:

Dranreb

XLDnaute Barbatruc
Oui, je pense que l'instruction visée ne plante plus non plus si par hasard la feuille BD est la feuille active, de sorte qu'on tombe alors directement sur le problème suivant
 

Dranreb

XLDnaute Barbatruc
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) ?
 

Menibelus

XLDnaute Nouveau
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 o_O

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

Merci
 

Fichiers joints

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas