Nommer des cellules

Résolu
Bonjour à tous,

Dans un fichier j’ai la colonne « C » qui s’appelle « Nom ».
Je souhaiterais nommer toutes les cellules, utilisées, de cette colonne de la manière suivante :
Nom_1 à dernière ligne écrite.

Pouvez-vous m’aider ?
D’avance merci pour votre aide.
Cordialement.
Mistral

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    voilà pour une colonne. Il faudra le faire pour chaque colonne avec le nouveau nom. Il y a qu'a changer le numéro de colonne ainsi que le nom:

    Sub For_X_to_Next_Ligne()
    Dim FL1 As Worksheet, NoCol As Integer
    Dim NoLig As Long, Var As Variant
    Dim DernLigne As Long
    DernLigne = Range("A65536").End(xlUp).Row
        Set FL1 = Worksheets("Feuil1")
        NoCol = 1 'lecture de la colonne 1
        For NoLig = 2 To DernLigne 'démarre à la 2ème ligne jusqu' a la dernière ligne de la colonne A
            Var = FL1.Cells(NoLig, NoCol)
             ActiveWorkbook.Names.Add Name:="Nom_" & NoLig - 1, RefersToR1C1:="=Feuil1!" & "R" & NoLig & "C" & NoCol
        Next
        Set FL1 = Nothing
    End Sub
    

    1. Petite précision:

      Je sais le faire, sans problème et manuellement en utilisant la gestion des noms depuis une sélection.
      Ayant à le faire de façon répétitive je voudrais le faire par une macro mais l'enregistreur de macro me donne une répétition d'action aussi longue qu'il y a de ligne.
      Je pense que cela doit être possible à l'aide d'une boucle mais je ne m'en sort pas.
      Merci pour votre aide.
      1. Contributeur
        Bonjour,

        Voir ce site pour les boucles:

        https://excel.developpez.com/actu/47690/Boucles-pour-parcourir-une-colonne-une-ligne-une-plage-de-donnees-deux-nouvelles-methodes/

        ce qui donne:

        Sub For_X_to_Next_Ligne()
        Dim FL1 As Worksheet, NoCol As Integer
        Dim NoLig As Long, Var As Variant
            Set FL1 = Worksheets("Feuil1")
            NoCol = 1 'lecture de la colonne 1
            For NoLig = 1 To 20
                Var = FL1.Cells(NoLig, NoCol)
                FL1.Cells(NoLig, NoCol).Value = "Nom_" & NoLig
            Next
            Set FL1 = Nothing
        End Sub
        


        voilà
        1. Contributeur
          Bonjour,

          Sans macro. Tu insères une colonne vide B et tu y saisis Nom_1 que tu tires vers le bas.
          Sélectionnes B2:C50 et nommer depuis sélection 'colonne de gauche'.
          eric
          1. Contributeur
            Je sais le faire, sans problème et manuellement en utilisant la gestion des noms depuis une sélection.

            Il veux une macro!
          2. @cs_Le PivertMerci Eric pour ta réponse mais cette manière de faire je connais et ce n'est pas le sens de ma demande mais merci quand même pour ta réponse.
        2. Bonjour Pivert,

          Merci à toi de te pencher sur mon problème.

          Ce n'est pas exactement ce que je souhaite. Avec ta proposition j'écris en dur dans la cellule "Nom_1".

          Ce que je souhaite c'est nommer la cellule "Nom_1" de manière à pouvoir réutiliser, par le suite, le contenu de la cellule nommée "Nom_1".
          Par la suite je réutiliserais cette macro pour nommer les 6 colonnes que je dois nommer.

          1) Est-il possible de créer les noms en fonction du nombre de ligne contenu dans la feuille, moins 1, de façon à ne pas toucher à la première ligne qui est une ligne de titre de colonne.

          2)Est-il possible qu'avec une seule macro nommer 6 colonnes avec 6 noms différents.
          D'avance merci.
          Mistral
          1. Bonsoir Pivert,

            Je viens d'adapter ta macro à mes besoins sur plusieurs colonnes sans problème.
            Tout fonctionne correctement.
            Je vais clore ce post.

            Un grand merci à toi.
            Cordialement.
            Mistral