FORUM Tom's Hardware » Programmation » VB / VBA / VBS » boucler dans un tableau
 

boucler dans un tableau

Il y a 606 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : boucler dans un tableau
 
Plus d'informations

mon prog génère l'érreur suivante

object dosen't support this proprety or méthod


mon code est
Function GetLastLine(aColumn As String) As Integer

' return the last line of column specified by aColumn

' example: LastLine = GetLastLine("A" )

GetLastLine = Range(aColumn & "65536" ).End(xlUp).Row

End Function

Sub Procédure()
Dim lastline As Long
Sheet1("Feuil1" ).Select
lastline = GetLastLine("A" )
Dim Index As Long
For Index = 2 To lastline
If Cells(Index, 1).Value = 2 Then
Cells(Index, 4) = Cells(Index, 3)
ElseIf Cells(Index, 1).Value = 3 Then
Cells(Index, 5) = Cells(Index, 3)
ElseIf Cells(Index, 1).Value = 4 Then
Cells(Index, 6) = Cells(Index, 3)
ElseIf Cells(Index, 1).Value = 5 Then
Cells(Index, 7) = Cells(Index, 3)
ElseIf Cells(Index, 1).Value = 6 Then
Cells(Index, 8) = Cells(Index, 3)
ElseIf Cells(Index, 1).Value = 7 Then
Cells(Index, 9) = Cells(Index, 3)
Else
Cells(Index, 3) = Cells(Index, 3)
End If
Next



End Sub

zeb
Profil : Modérateur libre
Plus d'informations

http://site.voila.fr/zulu-echo-bravo/img/balisecodeppc.png

 

Va lire le règlement, et mets ton premier message en conformité.
J'aurai le plaisir de virer ce message. :o

 

Et quand tu as une erreur dans un programme, c'est important de dire à quelle ligne l'erreur se produit.


Message édité par zeb le 16-10-2007 à 17:29:26

---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
85*85? Voilà ce que j'en pense!
Plus d'informations

Bon...
Sur laquelle des deux procédures as tu l'erreur? Je suppose que c'est sur la première (ta fonction Getlastline).
Ensuite, pourquoi faire toute la feuille alors qu'il "suffirait" de boucler jusqu'à une case vide... Typiquement

Code :
  1. dim I as integer
  2. I = 2
  3. Do while str(Cells(I,1).value) <> ""
  4.     //Ton code ici
  5.     I = I + 1
  6. Loop



EDIT: va falloir que je me remette aux macros moi...


Message édité par magellan le 16-10-2007 à 16:44:57

---------------
Le destin a voulu que Magellan périsse sous les coups de JeFaisPeurALaFoule...
Puis tel Jésus il revint plus fringuant que jamais :o
http://jefaispeuralafoule.blogspot.com
JE SUIS CONTRE LE 85*85
zeb
Profil : Modérateur libre
Plus d'informations

Le destin a voulu que magellan ressuscite des coups de JeFaisPeurALaFoule :)

Cette façon de faire n'est pas du tout idiote, bien au contraire.
Ton code ne fonctionne que s'il n'y a pas de trous.

Il y a une différence entre "jusqu'à la prochaine ligne vide" (en excluant implicitement cette dernière ligne) et "jusqu'à la dernière ligne non vide" (en l'incluant implicitement) quitte à ce qui y ait des "trous".


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
85*85? Voilà ce que j'en pense!
Plus d'informations

zeb a écrit :

Le destin a voulu que magellan ressuscite des coups de JeFaisPeurALaFoule :)

Cette façon de faire n'est pas du tout idiote, bien au contraire.
Ton code ne fonctionne que s'il n'y a pas de trous.

Il y a une différence entre "jusqu'à la prochaine ligne vide" (en excluant implicitement cette dernière ligne) et "jusqu'à la dernière ligne non vide" (en l'incluant implicitement) quitte à ce qui y ait des "trous".


Nous sommes d'accord. Je partais du principe qu'en général on évite les lignes vides dans les feuilles excel;) Sinon en effet c'est plus propre de parcourir toute la feuille.

EDIT: Signature mise à jour:o


Message édité par magellan le 16-10-2007 à 17:24:03

---------------
Le destin a voulu que Magellan périsse sous les coups de JeFaisPeurALaFoule...
Puis tel Jésus il revint plus fringuant que jamais :o
http://jefaispeuralafoule.blogspot.com
JE SUIS CONTRE LE 85*85
zeb
Profil : Modérateur libre
Plus d'informations

Et non.
Regarde bien ce code :

Range(aColumn & "65536" ).End(xlUp).Row

On va à la dernière ligne (65536) et on remonte (xlUp) d'un coup à la dernière (End) cellule non vide. Donc on ne parcourt pas toute la feuille, mais bien toute la plage utile.

 

Allez, pour le plaisir :

For Each cell In Range(Cells(1, col).End(xlDown).Row, Cells(65536, col).End(xlUp).Row)

 


----------------------------------
En attendant, on n'a toujours pas de nouvelles de Ninou !


Message édité par zeb le 16-10-2007 à 17:28:53

---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » VB / VBA / VBS » boucler dans un tableau
 

Annonces Google
Publicité
Actualités relatives

IBM France : plan social pour juin

Publié le 22 March 2005

Les syndicats d'IBM-France ont affirmé que la direction avait annoncé vouloir "boucler avant le 15 juin la procédure du plan social". Celle-ci pourrait entraîner entre 2.000 et 2.500 suppressions de postes, contre lequel 300 salariés ont Lire la suite

Toshiba rappelle que certains de ses portables risquent de prendre feu

Publié le 20 June 2007

Tout le monde se souvient de ces fameuses batteries défectueuses de Sony qui équipaient tant de portables et qui présentaient le risque de prendre feu. Dell avait ainsi rappelé plus de 4 millions de ses portables équipés de ces batteries Sony, après le pr ... Lire la suite

Récapitulatif des spécifications des chips graphiques

Publié le 04 December 2003

Le site internet hongrois HWHunpage a mis en ligne un tableau récapitulatif des caractéristiques techniques de l'ensemble des puces graphiques mises sur le marché depuis 1998 par les constructeurs : NVIDIA ATi S3 Trident SiS Rendition 3dfx Am Lire la suite

Nouvelle fonctionnalité sur le comparateur de prix

Publié le 26 June 2004

Une nouvelle fonctionnalité fait son apparition dans notre comparateur de prix: la possibilité de comparer les caractéristiques techniques de plusieurs produits du même type. En effet, vous nous avez déjà fait remarquer à plusieurs reprises dans notre fo Lire la suite

Les derniers tests

Charts cartes graphiques Q3 2008 : 101 cartes testées

Publié le 29 September 2008

Les charts de 101 cartes graphiques anciennes et récentes sous 9 applications, avec au total 6767 scores. Quel gain attendre du remplacement de votre carte graphique par un nouveau modèle dans chaque application/résolution et en moyenne ? Lire la suite

Upgrader son portable en 9 leçons

Publié le 29 September 2008

Profiter au mieux de son PC portable en 9 leçons. Lire la suite

Que choisir ? Home Cinema 5.1 ou projecteur de son ?

Publié le 25 September 2008

Faut-il craquer pour un ensemble 5.1 ou pour une barre de son ? Découvrez les forces et faiblesses comparées de chaque système. Lire la suite

Intel Core i7 (Nehalem) : une architecture signée AMD ?

Publié le 25 September 2008

Avec ses nouveaux processeurs Core i7, Intel fait évoluer les Core 2 en reprenant leur architecture, mais en lui rajoutant des technologies dont la plupart semblent avoir leur équivalent direct chez AMD. Impression ou réalité ? Lire la suite