Bonjour tout le monde,

Je débute dans la programmation, et j'ai un projet à effectuer sur Excel en VBA.

J'ai commencé à écrire une partie de code pour donner des noms à des plages de données.
Je vous transmets le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub Nomplagedonnées()
'Programme permettant de nommer les plages de données
'déclaration des variables
    Dim ligne As Integer
    Dim colonne As Integer
    Dim fin As Integer
    Dim lignetitre As Integer
    Dim dernierecolonne As Integer
    Dim derniereligne As Integer
    Dim Titre As String
 
'Initialisation des variables
    ligne = 6
    colonne = 1
    lignetitre = ligne - 1
    dernierecolonne = Cells(1, Columns.Count).End(xlToLeft).Column
    derniereligne = Cells(Rows.Count, colonne).End(xlUp).Row
    Titre = Cells(lignetitre, colonne).Value
 
 
 
    With Workbooks("Projet.xlsm").Worksheets("feuil1")
    'localisation de l'application du programme
        For colonne = 1 To dernierecolonne
        'Boucle définie de la colonne n°1 à la dernière utilisée
            .Range(Cells(ligne, colonne), Cells(derniereligne, colonne)).Select
            'Selection de la plage de données
            .Names.Add Name:=Titre, RefersTo:=.Range(Cells(ligne, colonne), Cells(derniereligne, colonne))
            'nomination de la plage de données en fonction du titre de la colonne
        Next
        'Fin de la boucle définie
    End With
    'Fin de l'utilisation de la localisation
C'est peut être pas la meilleur façon de travailler ou décrire mais j'essaye avec le peu de bas que j'ai et le feuilletage de divers topic.
J'ai un soucis concernant la fonction .names
Dans mon tableau j'ai un grand nombres de colonnes et j'aimerais que le titre de ma plage de données soit référencé par la première ligne de la colonne en question. Cela permettra selon moi d'avoir un fichier évolutif pour la suite de mon travail sur VBA en cas d'ajout de colonne.
J'ai une erreur d’exécution "1004" car le titre que je veux donner à ma plage est une variable, or si je mets le texte entre guillemets le code est correct. Cependant si je laisse entre guillemets mon titre sera figer.

Auriez vous une solution à me proposer ?
En vous remerciant,

Bonne soirée à vous,

Cordialement,