Décaler colonne sans modifier les macros.

morest

XLDnaute Occasionnel
Bonjour,

Je m'excuse de vous déranger de nouveau mais je n'arrive pas à trouver mon bonheur sur le net ou en recherchant sur ce forum.

Voici donc mon problème :

Je souhaiterais ajouter une colonne à droite de la colonne A sans modifier la liaison de mes macros. J'avais pensé trouver une facon d'ajouter un colonne sans que la colonne A en soit modifier c'est à dire ajouter une colonne alpha ou je sais pas quoi :). Probablement impossible à faire.

Quelqu'un aurait une idée?

Merci d'avance.
 

morest

XLDnaute Occasionnel
Re : Décaler colonne sans modifier les macros.

Tout d'abord merci Pierrot de t'intéresser à mon problème.

Imaginons une macro comme ceci :

Code:
Sub Test()

Range("B10") = "=1/A1"
Range("B11") = "=1/A2"
Range("B12") = "=1/A3"

End sub

Si lorsqu'elle est déjà écrite tu ajoute une colonne à gauche de A pour décaler un tableau d'une colonne par exemple, alors ta macro se décale également. et B10, B11 et B12 seront donc calculer sur les anciens A10, A11 et A12.

Ais-je était assez clair? J'avoue que parfois je me comprend à peine :)
 
G

Guest

Guest
Re : Décaler colonne sans modifier les macros.

Bonjour,
hello Pierrot:)

euh...moi non plus je ne comprend pas trop.

Par contre si tes macros font référence à la colonne A et que celle-ci contient en première ligne un 'titre' ou nom de champ, recherches ce 'titre' dans l'entête pour retrouver la colonne, après son déplacement.

A+
 

Pierrot93

XLDnaute Barbatruc
Re : Décaler colonne sans modifier les macros.

Re, bonjour Hasco:)

le mieux dans ce cas serait d'utiliser des plages nommées... barre de menu Excel => insertion => Nom => définir... dans ton code tu n'aurais plus qu'à faire référence à ces mêmes plages, peu importe que l'adresse ait changée ou pas..

Code:
Range("MaPlage").value = 123

bon après midi
@+
 

morest

XLDnaute Occasionnel
Re : Décaler colonne sans modifier les macros.

Hmm ok et vous pensez que cette manipulation est encore faisable si mes macro sont déjà toutes établies? Genre en appelant la nouvelle colonne A ou B ?

Ca y'ai je me suis perdu tout seul :p

En gros j'ai un bon millier de ligne qui font déjà appel à des cellules fixes appelées A15, B10... et autre.
 
G

Guest

Guest
Re : Décaler colonne sans modifier les macros.

Re,

Déjà, si tu nommes tes colonnes dans insertion/noms/définir, ne les renommes pas A ou B,sinon tu va au devant d'ennuis.

Ensuite Si tu nomme ta colonne A 'colonne1' par exemple

Dans VBA Range("Colonne1").Range("A15") fera toujours référence à la quinzième ligne de la première colonne de référence: Si colonne1 est déplace en B Range("Colonne1").Range("A15") fera référence à B15.

A+
 

morest

XLDnaute Occasionnel
Re : Décaler colonne sans modifier les macros.

Exact mais en revanche la formule "1/A1" fera toujours référence à l'ancienne cellule A1. J'ai bien peur que ce ne soit sans solution qui me prenne moins de 5 heures :p

Je vais continué à cherché^^
 

morest

XLDnaute Occasionnel
Re : Décaler colonne sans modifier les macros.

Merci pour votre aide à tout les deux.

Je me suis résolu à modifier les cellule une à une. En fait ca va pas être ci long que ca. La prochaine fois je penserais à nommer mes colonnes avant de faire mes macros :)

A bientôt
 

bruno66

XLDnaute Occasionnel
Re : Décaler colonne sans modifier les macros.

bsr, sans jugement, il aurait été preferable, que tu fasses une copie de ton fichier,et d'essayer d'ajouter ta colonne sur celui ci.....
Pourquoi, en cas de problème, tu avait toujours ton le fichier d'origine pour travaille...
mais ce n'est que mon point de vue
et pour modifier pas a pas ton fichier copié, pour le comparer a l'original..
bonne soirée et bon courage....
 

Discussions similaires

Réponses
2
Affichages
158

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87