calcul du nombre de colonnes

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

calcul du nombre de colonnes

Messagepar leila » 04 Juin 2003 à 10:56

ce programme me répond l'erreur suivante : " subscript out of range", en fait, je veux calculer le nbre de colonnes existantes sous excel et retourner un tableau contenant ces noms de colonnes.D'ou vient l'erreur? comment je dois faire pour la corriger? MERCIIIIIIISub ListeColonnes ( tCol() As String, maxcols As Integer) Dim i As Integer Dim xlsObject As Variant Dim xlsWorkBook As Variant Dim xlsSheet As Variant ' Procedure permettant de compter le nombre total de colonnes existantes sous excel ' et récupération de celles-ci dans un tableau nommé tCol 'initialisation des parametres Set xlsObject = CreateObject( "Excel.Application" ) ' Ouverture du fichier. En retour, on récupère le classeur Set xlsWorkBook = OpenXlsFile ("C:\Cathytest.xls", xlsObject) xlsObject.Visible = False ' Récupération de la feuille data Set xlsSheet = xlsWorkbook.Worksheets("Data") ' tant que la cellule est non vide, récuperer le contenu de celle-ci i = 0 Do While xlsSheet.Cells (1, i +1).Value <> " " maxcols = i tCol(i+1) = xlsSheet.Cells (1, i +1 ).Value i = i + 1 Loop Redim tCol(maxcols)As String End Sub
leila
 

Re: calcul du nombre de colonnes

Messagepar Raziel » 04 Juin 2003 à 11:17

Plusieurs choses:1. Es tu sur que la ligneDo While xlsSheet.Cells (1, i +1).Value <> " " ne va pas engendrer un indice > à l'indice max de ton tableau tabCol2. Pk ajoute tu +1 à l'indice lors de l'ajout de tabcol ? Si ton tableau commence à 0, le fait de commencer à 0 fait que ton tableau ne peut contenir que ubound(tabCol) - 1 élement3. La ligne Redim tCol(maxcols)As String supprime le contenu de ton tableau
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix

Re: calcul du nombre de colonnes

Messagepar Stephane Maillard » 04 Juin 2003 à 11:36

Bonjour,Voici un code VBA à transcrire en LotusScript qui retourne le nombre de colonnes :Function NbColonne() As Variant Dim j As Range ActiveCell.SpecialCells(11).Select ' 11 conrrespond à xlLastCell (Const xlLastCell = 11) DerCell = ActiveCell.Address Set j = Range("A1:" & DerCell) NbColonne = j.Columns.CountEnd FunctionSub test() Call MsgBox("Nombre de colonne : " & NbColonne, vbInformation + vbOKOnly, "NB Colonnes")End SubAprès il n'y à plus de difficulté pour remplir le tableau avec ce que tu veux.[%sig%]
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Re: calcul du nombre de colonnes

Messagepar leila » 05 Juin 2003 à 13:45

Merci beaucoup pour votre réponse M.Maillard mais le probleme est que je ne connais pas le langage VB, donc je sais pas comment traduire ces lignes de codes en LotusScript.Pourriez vous m'aider?Désolée de vous embêter mais j'en ai vraiment besoin!!!!MerciiiiLeila
leila
 

Re: calcul du nombre de colonnes

Messagepar Stephane Maillard » 05 Juin 2003 à 14:28

Bonjour,Cela devrait donnée ceci :Dim xlsRange As VariantxlsSheet.ActiveCells(11).SelectDerCell = xlsSheet.ActiveCell.AddressSet xlsRange = xlsSheet.Range("A1:" & DerCell)NbColonne = xlsRange.Columns.CountMessagebox "Nombre de colonne : " & NbColonne[%sig%]
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Re: calcul du nombre de colonnes

Messagepar leila » 05 Juin 2003 à 15:28

MERCI beaucoup !!!!je vais tester et je vous dirai si ca a marchéMerci encore!!!Leila
leila
 

Re: calcul du nombre de colonnes

Messagepar leila » 05 Juin 2003 à 16:20

en fait, j'ai testé les lignes de code, mais le probleme est que:xlsSheet.ActiveCells(i).Select n'existe pas!en fait j'aimerais faire la boucle suivante mais elle ne fonctionne pas:i = 1 'car le tableau excel commence a l'indice 1 et pas 0Do While xlsSheet.Cells(1,i).Value <> " " tCol(i) = xlsSheet.Cells(1,i).Valuei = i + 1LoopMais ca ne marche pas.... POURQUOI????
leila
 

Re: calcul du nombre de colonnes

Messagepar Stephane Maillard » 05 Juin 2003 à 19:40

Re,ActiveCells(11).Select et i car 11 est une constante qui correspond à xlLastCell.J'ai fait une erreur ActiveCells n'est pas le xlSheet. Vous devez essayer avec xlsObject ou xlsWorkBook.[%sig%]
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Re: calcul du nombre de colonnes

Messagepar leila » 06 Juin 2003 à 09:22

désolée de vous déranger encore mais je n'ai pas tres bien compris votre rectifiation et votre explication
leila
 


Retour vers Développement

cron