Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 ?
 

Pièces jointes

  • 5852020102.xlsb
    193.3 KB · Affichages: 10

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
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

  • 5852020102.xlsb
    355.2 KB · Affichages: 5

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…