Gestionnaires des noms avancé

Bonjour le forum,

J'ai deux problèmes avec un fichier auquel je dois attribuer des noms de plages de données.

1ère question :

Dans ma feuille Nom1_totalCa, je souhaiterai attribuer un nom de plage de données ce que j'ai fait il s'appelle TotalCat, sauf qu'il décompte dans la liste les cellules vide et j'ai besoin que la liste comprenne toutes les données et ne soustrait pas les cellule vide mais les intègres dans cette plage de données.

2ème question :

Dans ma feuille Nom_Cat, je souhaiterai attribuer des noms par catégorie, j'ai tester avec Cat_1 mais là en l'occurrence je souhaiterai que le nom de plage se stoppe dès qu'il trouve un cellule vide dans cette plage de données. Chaque catégories vont évoluer et vont avoir beaucoup plus de sous-catégories mais toutes les catégories auront toujours une cellule vide en dessous de chaque fin.

J'espère que vous pourrez m'aider ça fait plusieurs jours que je cherche et je ne trouve rien…

Merci d'avance de votre aide

Bonjour

Excel ne peut repérer par formule, ou très difficilement avec du matriciel, une cellule vide comme fin de liste.

Il faut soit mettre tes plages chacune sous forme de tableau soit avoir quelque chose pour repérer soit le début soit la fin d'un catégorie.

Et en VBA on peut pas faire quelques chose comme ça ?

Re

A priori tu as Calc et non Excel donc pas VBA.

Pourquoi ne pas utiliser les tableaux structurés qui évitent de coder et ont 1000 et 1 avantage s?

Bonjour,

Je crois que je n'ai absolument rien compris à ces deux onglets.. ni même au nom de plage qui dans l'exemple ne sert à rien ?

il faut repenser la base de données correctement sinon elle ne sera pas utilisable. Dans un premier temps celulles fusionnées erreur !!!

Voir exemple joint avec utilisation possible dans une formule.

Bonjour,

Si cela peut t'aider je joins un exemple qui consiste à nommer une plage qui va de la première cellule de la colonne D, jusqu'à la première cellule qui précède une cellule vide.

Sub NommerPlage()

    Dim Debut As Range
    Dim Fin As Range

    Sheets("Feuil1").Select
    Range("D1").Select
    'Variable objet qui pointe sur la première cellule à sélectionner
    Set Debut = ActiveCell

    'on se déplace vers le bas jusqu'à la première cellule vide
    Do Until IsEmpty(ActiveCell)
        ActiveCell.Offset(1, 0).Select
    Loop

    'on remonte d'une ligne
    ActiveCell.Offset(-1, 0).Select

    'Variable objet qui pointe sur la dernière cellule de la plage à sélectionner
    Set Fin = ActiveCell

    'Nommage de la zone exemple: PLAGE1
    Range(Debut, Fin).Name = "PLAGE1"

End Sub

Cordialement,

Merci beaucoup !

Rechercher des sujets similaires à "gestionnaires noms avance"