Affecter un nom à une variable de type Range

jp14

XLDnaute Barbatruc
Bonjour

Pour simplifier les modifications je désire utiliser pour remplir des combobox les noms des zones d'une feuille qui contient les données.
Le nom des zones crée par une macro qui reprend l'entête des colonnes après avoir éliminé des caractères et uniformisé la casse.

Lorsque j'affecte le nom de la zone à une variable de type Range, j'ai une erreur 1004.

Ci joint un fichier avec la macro ou l'erreur se produit.

Merci d'avance pour vos réponses.

JP
 

Pièces jointes

  • essai.zip
    13.5 KB · Affichages: 32
  • essai.zip
    13.5 KB · Affichages: 33
  • essai.zip
    13.5 KB · Affichages: 32
C

Compte Supprimé 979

Guest
Re : Affecter un nom à une variable de type Range

Salut JP14,

Définir un nom pour un ensemble de cellules, ne se fait pas comme ça
Code:
[COLOR=red]Set nomplage = Range(data2)[/COLOR]

Mais de cette façon là :
Code:
ActiveWorkbook.Names.Add Name:="MonNom", RefersToLocal:="=base!K2:K3"

Voilà ;)
 

jp14

XLDnaute Barbatruc
Re : Affecter un nom à une variable de type Range

Bonjour BrunoM45

Merci pour la réponse.

BrunoM45 à dit:
Salut JP14,
Mais de cette façon là :
Code:
ActiveWorkbook.Names.Add Name:="MonNom", RefersToLocal:="=base!K2:K3"

Voilà ;)

Une précision

J'utilise cette technique pour récupérer la plage ( k2:k3 dans ton exemple ) pour l'utiliser ensuite comme zone pour le "combobox(x).RowSource".
(PS: je compte remplir tous les "combobox" de cette manière)
JP
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re : Affecter un nom à une variable de type Range

Salut jp14
bonsoir le fil
bonsoir le Forum

j'ai dans un premier temps vu que ta feuille s'appelle base et que dans tes formules nommées la feuille s'appelle Section

voila ce que j'ai fait sans savoir s'il s'agit d'un Userform avec des combobox ou des combobox de la feuille base j'ai mis deux combobox sur un userform

le fichier :
Regarde la pièce jointe Liste_essaiV2.zip

Bonne fin de Soirée
 
Dernière édition:

jp14

XLDnaute Barbatruc
Re : Affecter un nom à une variable de type Range

Bonjour ChTi160

ChTi160 à dit:
Salut jp14
bonsoir le fil
bonsoir le Forum

jvoila ce que j'ai fait sans savoir s'il s'agit d'un Userform avec des combobox ou des combobox de la feuille base j'ai mis deux combobox sur un userform
Bonne fin de Soirée
[/COLOR]

Merci pour la réponse la macro fonctionne correctement mais si on lance d'abord la macro pour mettre à jour les nom des plages (mettreajournom dans le module nommercolonne ) on obtient une erreur.

Ce problème avait déjà été soulevé dans le fil
https://www.excel-downloads.com/threads/liste-du-combobox-un-nom.64362/

L'inscription manuelle du nom corrige le problème.

Pour éviter cette erreur je ne vais pas utiliser les noms des zones mais le code suivant
Code:
With Sheets("base")

    For i = 2 To 3
        If control = "ComboBox" Then
           data1 = colonneLCenAX(i) ' fonction pour transformer un numero de colonne en alpha
           nomplage = data1 & "2:" & data1 & .Range(data1 & "65536").End(xlUp).Row
           UserForm1.Controls("ComboBox" & i).RowSource = "base" & "!" & nomplage
        End If
    Next i
End With

JP
 

Discussions similaires

Statistiques des forums

Discussions
312 193
Messages
2 086 058
Membres
103 110
dernier inscrit
Privé