Nommer une plage automatiquement

Bonjour le forum,

Dernièrement gmb a résolu un de mes problème : Je souhaitais via une macro tracer des bordures via un tableau de données et y insérer le nom du rectangle à l’intérieur de celui ci.

Ce sujet est résolu (encore merci gmb)

En évolution, je souhaiterais nommer la plage de cellule du rectangle 1 : rectangle 1; celle du rectangle 2: rectangle 2 et ainsi de suite de manière automatique. Est-ce possible ?

Je joins mon fichier et je suis disponible pour tout info complémentaire.

30nommer-plage.xlsm (23.85 Ko)

Bonsoir,

voici une proposition :

Sub Résultat()

    lni = 8
    coli = 3
    Set fr = Sheets("Résultats")
    For i = 7 To 12
        fr.Cells.Borders(i).LineStyle = xlNone
    Next i

    For ln = 7 To Range("C" & Rows.Count).End(xlUp).Row
        lnD = lni
        lnf = lni + Range("D" & ln) - 1
        colf = coli + Range("E" & ln) - 1
        fr.Range(fr.Cells(lnD, coli), fr.Cells(lnf, colf)).BorderAround Weight:=xlThin
        ActiveWorkbook.Names.Add Name:=Range("C" & ln), RefersTo:= _
        fr.Range(fr.Cells(lnD, coli), fr.Cells(lnf, colf))
        fr.Cells(lnD, coli).Offset(1, 1).Value = Range("C" & ln)

        fr.Cells(lnD, coli).FormulaR1C1 = "=IF(ISBLANK(R[1]C),RC1)"
        fr.Cells(lnD, colf).FormulaR1C1 = "=IF(R[1]C="""",R241C)"
        fr.Cells(lnf, coli).FormulaR1C1 = "=IF(ISBLANK(R[-1]C),R241C,"""")"
        fr.Cells(lnf, colf).FormulaR1C1 = "=IF(R[-1]C="""",RC1,"""")"

        lni = lni + Range("D" & ln) + 1
    Next ln
    fr.Activate
    Range("A1").Select
End Sub

En fait avec ce système il ne faut pas d'espace dans le nom... Alors il faut modifier le nom des rectangles en ajoutant un Under score "_"

C'est tout ce que j'ai à vous proposer

@bientôt

LouReeD

Bonjour,

Je testais des codes similaires ... sans succès.

LouReeD qui donne un code ... je suis persuadé que ça fonctionne ... je teste ... patate

Puis, j'ai compris ... la cellule C7 et autres C de la feuille "Données" contient une espace entre "rectangle" et le numéro.

Si je supprime l'espace ou la remplace par _ ça fonctionne correctement.

Merci LouReeD ... mes connaissances augmentent lentement

Gelinotte

Oups !

Ca fait peuuuurrrrrr de se savoir "surveillé"

Merci @ vous pour vos remarques cela fait toujours plaisir !

@ bientôt

LouReeD

Merci pour vos réponses !

C'est exactement ce que je voulais

Rechercher des sujets similaires à "nommer plage automatiquement"