nommer plage de données excel avec une macro

  • Initiateur de la discussion Initiateur de la discussion dan_citer
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dan_citer

XLDnaute Nouveau
Bonjour a tous,
Débutant en Visual Basic, j'utilise Excel 2000.
Je voudrai sur une feuille de calcul Excel definir une plage de 4 colonnes et de n lignes.
Avec une macro je veux affecter un nom a cette plage, et un nom a chaque colonne de cette plage.
Ces noms pouvant etre utilisés dans les autres feuilles du classeur.
Pouvez vous m'aider a résoudre ce problème en VB.
d'avance merci
 
Re : nommer plage de données excel avec une macro

Bonjour,

Pour obtenir le résultat donné par Astralon, il te suffit d'utiliser l'enregistreur de macro. Outils/Macro/Nouvelle macro

Celui ci te permet de débuter en VBA sur des codes simples.
A utiliser sans modération même quand tu ne seras plus débutant...

Cordialement
 
Re : nommer plage de données excel avec une macro

Merci pour les reponses aussi rapides.
Mais je voudrais aller plus loin:
avec d'autres lignes du type:
ActiveWorkbook.Names.Add Name:="test", RefersToR1C1:="=Feuil1!R13C3:R22C3"
nommer les colonnes de la plage selectionnée de façon automatique. Le probleme c'est que je ne sait pas extraire l'adresse de chaque colonne de la selection pour la passer en adresse du type: "=Feuil1!R13C3:R22C3"
Avez vous une idée?
merci par avance
 
Re : nommer plage de données excel avec une macro

Bonjour Astralon,Pierrot, Spitnolan,et merci pour vos réponses.
je suis désolé mais je n'ai pas été assez clair sur les infos qui me manquent.
Avec une macro de ce style, je selectionne une plage de données:
Sub BoiteSelectionZone()
Dim Var As Object
On Error Resume Next
Set Var = Application.InputBox(Prompt:="Sélectionner votre zone: (Ex. A1:B10) ", _
Title:="Sélection de zone ", Default:="$A$1", Type:=8)
On Error GoTo 0
If Not (TypeName(Var) = "Rien") Then
MsgBox Var.Address
Var.Select
End If
Set Var = Nothing
End Sub
Ce que je ne sais pas faire et qui doit etre évident pour vous, c'est récuperer cette adresse et l'utiliser pour affecter un nom a la plage , et a chaque colonne avec l'expression:
ActiveWorkbook.Names.Add Name:="zone", RefersToR1C1:= ???
ActiveWorkbook.Names.Add Name:="colonne1", RefersToR1C1:= ???
ActiveWorkbook.Names.Add Name:="colonne2", RefersToR1C1:= ???
Avez vous une idée ? merci d'avance.
 
Re : nommer plage de données excel avec une macro

Bonjour dan_citer, astralon, Spitnolan08, Pierrot

Un exemple :

Code:
Sub BoiteSelectionZone()
Dim Var As Range, i As Integer, NomZone As String
On Error Resume Next
Set Var = Application.InputBox("Sélectionner votre zone: (Ex. A1:B10) ", _
"Sélection de zone ", Default:="$A$1", Type:=8)
On Error GoTo 0
If Not Var Is Nothing Then
  MsgBox Var.Address
  Var.Select
Else
  Exit Sub
End If
NomZone = InputBox("Entrer le Nom de la plage", "Nommer la plage :")
If NomZone <> "" Then
    ActiveWorkbook.Names.Add Name:=NomZone, RefersTo:="='" & ActiveSheet.Name & "'!" & Var.Address
    If Var.Columns.Count = 1 Then Exit Sub
    For i = 1 To Var.Columns.Count
       ActiveWorkbook.Names.Add Name:=NomZone & "Col" & i, RefersTo:="='" & ActiveSheet.Name & "'!" & Var.Columns(i).Address
    Next
Else
    Exit Sub
End If
End Sub

Une deuxième inputbox s'ouvre pour demander un nom à la plage.
Si la plage sélectionnée à plus d'une colonne, la macro créée des noms correspondant à chaque colonne.

a+
 
Dernière édition:
Re : nommer plage de données excel avec une macro

Un grand merci à bqtr et a astralon, Spitnolan08, Pierrot
pour les competances et la rapidité.
je viens de tester, ça marche super et ça correspond tout a fait a ce que je voulais faire.
Merci au forum
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour