créer un nom en vba aprés avoir selectionner une plage de cellule

julbute

XLDnaute Junior
Bonjour, bonsoir à tous
Je cherche à définir une plage de cellule et de créer un nom en VBA.
J'ai un début mais je tourne en rond...

ActiveWorkbook.Names.Add Name:="nomplage", RefersToR1C1:="=Feuil1!R18C10:R34C15"

nomplage est le nom de la variable du nom de la plage.
Feuil1!R18C10:R34C15 est la position de la plage.

Mais je n'arrive pas à articuler mon code autour de cela.

Merci de votre aide
 

Gelinotte

XLDnaute Accro
Re : créer un nom en vba aprés avoir selectionner une plage de cellule

Allô!

À moins que le nom soit une variable. Dans ce cas :
Sub Macro1()
Dim MaVar As String
MaVar = "totoTest"
ActiveWorkbook.Names.Add Name:=MaVar, RefersToR1C1:="=Feuil1!R18C10:R34C15"
End Sub

Perdrix
 
Dernière édition:

julbute

XLDnaute Junior
Re : créer un nom en vba aprés avoir selectionner une plage de cellule

Merci pour vos réponses,
ok pour geliote, oui il fonctionne ce bout de code mais je n'arrive pas à articuler mon code autour de cela.
Ok pierrot93, cela fonctionne aussi.
Mais je vais un peu dévelloper ma demande.

J'ai un tableau avec nom, prenom, code
respectivement en B3,C3,D3
Ce tableau me sert à retrouver le code en fonction du nom et prénom
sa taille va de B3:F19
Cette plage de donnée est appeler liste, elle comporte une vingtaine de nom.

Cette liste doit être agrandi en inserant une ligne complète.
Cela je sais faire en vba, par contre je ne sais pas redimensionner mon tableau et lui redonner le même nom "liste".

je suis partie avec la fonction - Range("B3").CurrentRegion.Address
afin d'avoir les dimensions du tableau, mais je ne sais pas utiliser les deux solutions que vous m'avez donné.

C'est peu etre plus clair comme cela.

Je ne suis pas un champion en VBA.

Merci
 

Pierrot93

XLDnaute Barbatruc
Re : créer un nom en vba aprés avoir selectionner une plage de cellule

Re

il me semble que lorsque tu insères une ligne dans une plage nommée, celle-ci évolue en conséquence et les dimensions s'adaptent, et ce même par vba... Enfin chez moi, ou alors quelque chose doit m'échapper...

@+
 

julbute

XLDnaute Junior
Re : créer un nom en vba aprés avoir selectionner une plage de cellule

re,
cela fonctionne lorsuque j'insere une ligne entre les autres, si je copie une ligne est que la copie en dessous, cela ne fonctionne pas.
à moins que je ne fais pas comme il faut.
à plus
 

jeanpierre

Nous a quitté
Repose en paix
Re : créer un nom en vba aprés avoir selectionner une plage de cellule

Bonjour julbute, Pierrot,

Comme l'a dit Pierrot, pour que la plage s'adapte, il faut que l'insertion se fasse à l'intérieur même de cette plage et non à fin ou au début, qu'elle provienne d'une insertion simple ou d'un copie de ligne.

Bonne journée.

Jean-Pierre
 

julbute

XLDnaute Junior
Re : créer un nom en vba aprés avoir selectionner une plage de cellule

Mon tableau va de B3 à F19
Si j'insere une ligne entre la ligne E3 et F3, mes nouvelles valeurs "rentrent" dans le tableau.Si j'insere en G3, les données ne sont pas prises en compte.
à plus
 

julbute

XLDnaute Junior
Re : créer un nom en vba aprés avoir selectionner une plage de cellule

parfait cela fonctionne comme je le souhaitais.
Merci bien.
voici ce que j'utilise

ThisWorkbook.Names("nomplage").RefersTo = Range("B3").CurrentRegion

et là peu importe ou on insert, la plage complète est redéfini.
;)
 

Staple1600

XLDnaute Barbatruc
Re : créer un nom en vba aprés avoir selectionner une plage de cellule

Bonsoir à tous

Avec CurrentRegion
Cela marchera si il n'y a pas de cellules vides dans ta plage


Perso, je ferais comme ceci
Code:
Sub test()
Dim r As Range
Set r = Range("B3:F" & [F65536].End(xlUp).Row)
r.Name = "PLAGENOMMEE"
End Sub
 
Dernière édition:

julbute

XLDnaute Junior
Re : créer un nom en vba aprés avoir selectionner une plage de cellule

Parfait j'ai deux solutions, la deuxième me parait meilleur mais si la cellule F de la dernière ligne n'est pas remplie,cela ne marche pas.
Dans mon cas cela fonctionne car toutes les cellulles sont obligatoirement renseignées.

J'en profite dans la continuité, comment peux t'on trier la colonne C dans l'ordre croissant

Merci
 

Discussions similaires

Réponses
0
Affichages
158

Statistiques des forums

Discussions
312 361
Messages
2 087 613
Membres
103 607
dernier inscrit
lolo1970