Nommer des colonnes qui bougent

Chris57

XLDnaute Occasionnel
Bonjour à tous,

j'ai un tableau avec plusieurs colonnes qu'on peu réorganiser et donc dont on peu changer l'ordre.

Mais je dois pouvoir extraire des données de ce tableau par macros, du genre :
for i = 1 to 8000
if cells(i,1) = "x" then MAvaleur = cells(i,8).value
next i


Mais si je change l'ordre des colonnes, ces macros ne fonctionneront plus !

Est-il possible de donner un nom à ces colonnes, nom qu'elles garderons quoi qu'il arrive ?

merci d'avance.
 

MJ13

XLDnaute Barbatruc
Re : Nommer des colonnes qui bougent

Bonjour Chris

Il sufffit de mettre des noms sur ta première ligne, puis de sélectionner ton tableau puis taper Ctrl+Shift+F3 et sélectionner ligne. Ensuite, tu peux suppimer ta première ligne.
 

Chris57

XLDnaute Occasionnel
Re : Nommer des colonnes qui bougent

Mon tableau comporte en réalité des dizaines de colonnes. Je vais donc toutes les nommer avec votre méthode.
Ensuite ce classeur sera utilisé par plusieurs personnes et pendant longtemps. Il est possible que d'ici quelque mois/années je doive faire des modifs. Dans la mesure où le nom exacte des colonnes n'est affiché nul part, je devrais sans doute devoir les retrouver.
Avec des dizaines de colonnes, l'idéal est une macro qui me sort tous les noms.

J'ai tenté
MsgBox Columns("A:A").Name
MsgBox Columns("A:A").Name
MsgBox (Columns("A:A").Name)
MsgBox (Columns("A:A").Name.Name)

mais rien ne fonctionne chez moi...
 

Pierrot93

XLDnaute Barbatruc
Re : Nommer des colonnes qui bougent

Bonjour,

bah... je confirme le code de Michel:) fonctionne, ce exécuté dans un module standard du classeur en question....
Code:
MsgBox Columns("A:A").Name.Name

A noter dans Excel, pour afficher toutes les plages nommées, barre de menu Excel => insertion => nom => coller => coller une liste.

bonne journée
@+
 

MJ13

XLDnaute Barbatruc
Re : Nommer des colonnes qui bougent

Re

Comme dit Pierrot :), cela devrait fonctionner.

Voir par exemple avec ce fichier.

Sinon, ce qui m'intéresserait, c'est de connaître le nom défini à partir d'une cellule. Exemple, si je suis en C5, trouver que C5 appartient au nom Colonne3. Est-ce possible?

Merci d'avance :).
 

Pièces jointes

  • NommeColonne.xls
    65.5 KB · Affichages: 43

Pierrot93

XLDnaute Barbatruc
Re : Nommer des colonnes qui bougent

Re,

Sinon, ce qui m'intéresserait, c'est de connaître le nom défini à partir d'une cellule. Exemple, si je suis en C5, trouver que C5 appartient au nom Colonne3. Est-ce possible?

peut être avec ceci :
Code:
Option Explicit
Sub test()
Dim n As Name
For Each n In ThisWorkbook.Names
    If Not Intersect(Sheets("Feuil1").Range("C1"), n.RefersToRange) Is Nothing Then _
        MsgBox n.Name
Next n
End Sub
 

MJ13

XLDnaute Barbatruc
Re : Nommer des colonnes qui bougent

Re Pierrot


Ah, merci beaucoup Pierrot :).

Du coup, j'ai mis un exemple dans ce fichier avec RefersToRange que j'ai trouvé dans l'aide.
 

Pièces jointes

  • NommeColonneV2.xls
    48.5 KB · Affichages: 51

Discussions similaires

Réponses
3
Affichages
289

Statistiques des forums

Discussions
312 107
Messages
2 085 354
Membres
102 873
dernier inscrit
yayo