|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : avril 2011 Messages : 19 ![]() |
Hello,
J'ai une boucle qui tourne sur une plage de donnée, un tableau de 4 lignes et 5 colonnes (bon en fait c'est bcp plus, mais c'est transposable) 1 2 3 4 5 1 2 1 2 3 1 2 3 4 Je cherche à positionner mon curseur sur la dernière cellule non vide de chaque ligne, j'utilise donc : Code :
Pourtant je spécifie bien mes colonnes de 1 à 5 (for col 1 to 5). Mauvaise utilisation du xlToRight ? |
||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() ![]() Conseil + Formation Inscription : février 2010 Messages : 594 ![]() |
Bonjour
Partir de XFD (ou moins loin |
|
|
10
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() ![]() |
Salut
La structure de ta boucle est étrange Avec les 2 boucles For tu pointes ton tableau (5x4), cellule par cellule (donc les 20 cellules) Ensuite attention End(...) ne permet pas de forcement trouver la dernière cellule non vide, End(...) repère un changement fais des essais avec avec la touche Ctrl de ton clavier et les touches fléchées Plutôt qu'un long discours alambiqué voila un schéma ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
|
|
10
|
|
|
#4 | ||
|
Invité régulier
![]() Inscription : avril 2011 Messages : 19 ![]() |
merci à vous 2 !
J'ai effectué 2 corrections : - d'abord, ma variable pour les colonnes ne sert strictement à rien, dc suppr. - et deusio, j'ai remplacé le End(xlToRight).Columns.Select par simplement: End(xlToRight).Select Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Attention si on reprend ton exemple, la ligne 2 va aller à la dernière colonne. Soit tu parts de la colonne A en etant sûr et certain que la colonne B aura toujours un contenu, soit tu utilises (xltoLeft) comme le dit 78chris, ce qui est le plus couramment utilisé. La seule raison ici de vouloir utiliser xlToRight serait si un 2ème tableau se trouvait à droite de celui ou tu fais ta recherche, mais là encore, il suffirait de partir de la 1ere colonne de ton 2eme tableau et de revenir vers la gauche pour trouver la dernière colonne utilisée dans ton 1er tableau. avec XlToLeft Code :
Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
||
|
|
00
|
|
|
#6 | ||||
|
Membre Expert
![]() Retraité Inscription : avril 2011 Messages : 696 ![]() |
Bonjour,
Avec ton code, lorsque tu vas passer à la ligne 2, tu vas encore taper dans la butée. Tu as tout intérêt à coder Code :
Code :
EDIT : Désolé Qwazerty. Je n'avais pas vu que tu avais dégainé avant |
||||
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() ![]() |
Salut
[Edit]Pas de soucis Définir des Row et des Colomns avec des Byte est dangereux, y'en a qu'on essayé, ils ont eu des problèmes. Plus sérieusement, je comprend qu'ici c'est un teste, mais il vaut mieux dire Row -> Long et column->Integer, parfois notre code évolue au gré du temps et paff (surtout pour les lignes 255, c'est vite atteint) . ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
|
|
00
|
|
|
#8 | ||
|
Invité régulier
![]() Inscription : avril 2011 Messages : 19 ![]() |
Alors, en effet un second tableau se trouve à droite, donc :
Code :
Le probleme c'est que dans mon premier tableau, les cellules vides sont en fait des recherchev qui donnent " " si #n/a. donc les cellules sont pas vraiment vides mais contiennent des formules... Comment faire pour considérer ces cellules comme vide dans mon code ? |
||
|
|
00
|
|
|
#9 | ||
|
Membre Expert
![]() Retraité Inscription : avril 2011 Messages : 696 ![]() |
Bonjour,
Pour trouver la dernière cellule renseignée, tu peux effectuer la recherche de la première cellule vide. Code :
|
||
|
|
00
|
|
|
#10 |
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Je pensais que tu faisais juste des essais afin de tester les boucles et les sélections, visiblement ton problème s'inscrit dans une démarche plus global, il serait donc peut-être intéressant de nous dire ce que tu souhaites faire exactement, je doute que le finalité soit de sélectionner l'une après l'autre la dernière cellule de chaque colonne. ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com