XL 2016 ajout de colonnes par vba

halecs93

XLDnaute Occasionnel
Bonjour,

Je rencontre un souci sur mon fichier.

Sur le premier onglet "Donnees", un bouton permet d'ajouter sur l'ensemble des feuilles des colonnes. Au delà de 10 colonnes, j'ai des messages d'erreurs dans les calculs. Il me semble que cela vient du fait de la dénomination des colonnes. En effet, jusqu'à "Z" tout va bin, mais dès que l'on atteint AA et les suivantes.... erreurs.

Quelqu'un saurait m'indiquer comment je peux rectifier ?

Merci
 

Pièces jointes

  • HEURES 2022-2023 - V11 - CONTRACTUELS.xls
    997 KB · Affichages: 6

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Halecs,
J'ai testé par appui sur "Ajout de colonne(s)" l'ajout de 100 colonnes sans souci.
Dans quelle configuration exacte vous avez un problème ?
De plus, effectivement vous transformer un nombre en caractère via "NomColFin = Chr(16 + nbCols + 64)"
Mais jamais vous ne réutilisez cette variable, donc à quoi sert elle ?
Mais cette ligne vous sortira une erreur si vous demandez plus de 175 colonnes à rajouter car le CHR est limité à 255.
20221201_105150.gif
 

halecs93

XLDnaute Occasionnel
Bonjour Halecs,
J'ai testé par appui sur "Ajout de colonne(s)" l'ajout de 100 colonnes sans souci.
Dans quelle configuration exacte vous avez un problème ?
De plus, effectivement vous transformer un nombre en caractère via "NomColFin = Chr(16 + nbCols + 64)"
Mais jamais vous ne réutilisez cette variable, donc à quoi sert elle ?
Mais cette ligne vous sortira une erreur si vous demandez plus de 175 colonnes à rajouter car le CHR est limité à 255.Regarde la pièce jointe 1156929
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Compris ! avec l'explication c'est mieux.
Evidemment ça coince sur CAR(COLONNE()+64), donc le plus simple est de se passer de lettres pour accéder à une cellule.
Au lieu de faire =AVRIL!AA40 on peut passer par un index qui ne réclame pas de lettres comme :
=INDEX(AVRIL!40:40;27)
Soit en formule en AA22 :
VB:
=INDEX(INDIRECT($A22&"!40:40");COLONNE())
A tester, mais le principe est là. :)
 

Discussions similaires

Réponses
1
Affichages
1 K

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 868
dernier inscrit
pierreselo33