Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Pb avec Columns.count (et Workbooks.Add ?)

GiHesse

XLDnaute Nouveau
Bonjour,

le problème qui suit n'est ni urgent, ni absolument nécessaire à résoudre. C'est juste pour essayer de comprendre Excel.

j'ai travaillé cet été durant un stage notamment sur des macros Excel pour réorganiser des données.
Or la cible de la chose était d'utiliser Excel 2007, afin de ne plus être soumis à la limite des 65 536 lignes. Mais les délais de commande et d'installation ont fait que je n'ai jamais pu voir le bout du nez de cette version.

Donc j'ai tout codé sur Excel 2000.
Aujourd'hui, j'ai amené pour mon dernier jour mon ordi perso afin de tester ce que cela donnait sur Excel 2007.

J'ai juste eu une erreur au moment de l'exécution de la macro suivante, qui récupère la première colonne non vide d'une ligne donnée.


L'erreur situait le problème au niveau de la ligne
Set CelluleEnHautADroite = Sh2.Cells(NumeroLigne, Columns.Count)

Comme je passe d'un Excel à un autre, j'imagine que le problème c'est le passage d'un Columns.Count de 256 à 16384.

Mais ce qui est bizarre, c'est que la méthode ne plante que sur un classeur créé durant l'exécution de la macro, alors qu'elle ne pose pas de problème sur le classeur qui porte la macro. (cette méthode étant un petit outil que j'utilise à plusieurs reprise).

Donc je me demandais si lorsque la macro fait un Workbooks.Add elle n'ajouterait pas un classeur en format .xls et non pas .xlsm ? Du coûts, pour le classeur la limite serait de 256 colonnes mais puisqu'on travaille dans Excel 07, la limite est de 16384? (pure supposition)

Je pars donc en remplaçant le Columns.Count par 256, mais je ne trouve pas ça très élégant (bien que cela marche). En effet, qui me dit que si je fais un Rows.Count, cela ne va pas aussi poser problème (pour l'instant je l'ai fais et je n'en ai pas)

Longue vie à ce forum, qui m'a aidé de nombreuses fois dans mon apprentissage en autodidacte du VBA cet été.

GiHesse
 

job75

XLDnaute Barbatruc
Re : Pb avec Columns.count (et Workbooks.Add ?)

Bonjour GiHesse,

Votre diagnostic (classeur .xls) paraît très juste (pas d'autres raisons possibles), alors écrivez :

Code:
Set CelluleEnHautADroite = Sh2.Cells(NumeroLigne, [COLOR="Red"]Sh2[/COLOR].Columns.Count)

Sans le Sh2 c'est en effet le nombre de colonnes de la feuille active qui est utilisé.

A+
 
Dernière édition:

Discussions similaires

Réponses
5
Affichages
238
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…