USF + étendre une zone nomméé

  • Initiateur de la discussion Chris35
  • Date de début
C

Chris35

Guest
Bonjour Tout le monde

j'ai encore besoin de lueurs des Grands Maître de Céant :)

Voilà le pb du jour... (mais la journée n'est pas finie) :

Je n'arrive pas à étendre une zone nommée à partir d'un userform

Je sais pas si c'est très claire comme question ?

le fichier joint devrait vous permettre de piger mon truc.

Si qqn avait une bonne idée sur le sujet... ce serait ben sympa de m'en faire part !

Bien cordialement

Chris35
 
C

C@thy

Guest
Bonjour Chris,

je t'ai fait quelques 'tites modifs pour simplifier ton code.

J'espère avoir répondu à certazines de tes questions.

C@thy
BipBip.gif
 

Pièces jointes

  • DataBaseChris.zip
    18.6 KB · Affichages: 25
C

Chris35

Guest
Bonjour Cathy

Merci pour ta réponse... mais au risque de te faire de la peine :) ça ne marche toujous pas

a ) si tu essayes par exemple de rentrer 2 nouveaux noms, par exemple :
zoé et zorro (pourqu'ils soient à la fin de la liste) ... le 2ème efface le premier ???

b) la référence du tableau nommé est toujours : < ="$A$1:$D$21" >,
alors que ça devrait être < =Feuil1!$A$1:$D$21 >

de ce fait le nom figure bien dans la liste des noms (menu insertion-noms-définir... ), mais n'est pas reconnu en tant que tel, et n'est pas accessible, par exemple, avec le menu edition-atteindre...

Le mystère reste entier... Ô Grands Maîtres du Forum ! Etes vous là ?


a +

Chris
 
C

C@thy

Guest
Chris,

1) j'arrive à rentre 2 nouveaux noms sans problèmes


2) remplace l'instruction de nommage par

ActiveWorkbook.Names.Add Name:="Data_Feuil1", RefersToR1C1:="=Feuil1!R2C1:R" & L & "C4"

C@thy
BipBip.gif
 
C

Chris35

Guest
Merci Cathy

Pour le nommage de la place de cellules, c'est ok

Par contre je confirme :

si tu essayes par exemple de rentrer 2 nouveaux noms, par exemple :
zoé et zorro (pourqu'ils soient à la fin de la liste) ... le 2ème efface le premier ???

et ds certains cas (?) ça le fait aussi si la valeur entrée n'est pas en fin de liste ???

J'y comprends rien... ça fait une heure que je suis là dessus... sans succès ! :(

Au secours XLD ! :)

Chris
 
C

Chris35

Guest
je viens de m'apercevoir que ça ne se produit que si je ne rentre qu'une seule valeur (le nom) et que je laisse vide les autres textbox...

Mais pourquoi ????

Allo ! Allo ! y a t il un spécialiste UserForm dans la salle ?

... à suivre
 
G

GClaire

Guest
Chris35, Cathy et le forum,

Voila une piste :

A la place de :

L = Sheets("Feuil1").Range("C65536").End(xlUp).Row + 1



Met :

L = Sheets("Feuil1").Range("A65536").End(xlUp).Row + 1


Salut, G'Claire
 
M

michel

Guest
bonjour Chris , bonjour C@thy

fais un essai en remplaçant

L = Sheets("Feuil1").Range("C65536").End(xlUp).Row + 1

par

L = Sheets("Feuil1").Range("A65536").End(xlUp).Row + 1

à l'origine la macro allait chercher la premiere ligne vide dans la colonne C


bonne soiree
michel
 
@

@+Thierry

Guest
Bonjour Michel, re C@Thy, Chris et G'Claire, Le Forum

Oui c'est certain qu'il faut être sûr de ta Variable Ligne qui doit of course scruter le End(XlUp) d'une colonne "Non-Vide" sinon ça fait désordre !! lol

Mais le sujet étant Zone Nommée, il me semble que vous vous êtes écarté d'un truc important... Il ne faut pas occulter la "destruction du nom" ... Et ceci Avant de pouvoir le re-générer dynamiquement...

Sub RealRenaming()
Dim L As Integer
Dim TheName As String

TheName = "LeBarDeLaPlage" '(lol)

L = Feuil1.Range("A65536").End(xlUp).Row

On Error GoTo Suite 'si le nom n'existe pas déjà
With ThisWorkbook
.Names(TheName).Delete
Suite:
.Names.Add Name:=TheName, RefersTo:="=Feuil1!$A$2:$A$" & L
End With

End Sub

Bonne Soirée
@+Thierry
 
C

Chris35

Guest
Bonjour et merci à tou(te)s pour votre aide sur ce sujet.

Histoire de faire "propre" et pour les générations futures :) je remets le fichier corrigé en ligne.

Concernant la remarque de @Thierry, j'ai effectivement lu qqpart qu'il faudrait effacer un nom avant de pouvoir le redéfinir.

Dans ma 1ere version, pour cette raison, j'avais d'ailleurs mis un :

On Error Resume Next
ActiveWorkbook.Names("Data_Feuil1").Delete
On Error GoTo 0


En fait, c'est faux. Ca ne semble pas indispensable du tout (sauf erreur de ma part) ... du moins pour la version de XL que j'utilise (2000 sp3)

a+

Chris

bonsang.jpg
 

Pièces jointes

  • etendre_database_corrige.zip
    14.6 KB · Affichages: 16

Discussions similaires