Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

selection automatique

3 réponses
Avatar
J&B
Bonsoir,

J'importe des données
Ces données sont en lignes et sur plusieurs colonnes.
je souhaiteria selectionner en automatique par VBA
la plage de cellule concerné pour traitement
jusque la ok
Par contre la dificulté c'est que le nombre de ligne est variable ( le
nombre de colonne est toujours le même)

Merci de votre aide
j&b

3 réponses

Avatar
Ogespin
Bonsoir

Essai :

Set Maplage = Range("A1:F" & Range("A65536").End(xlUp).Row)

En admettant que tes colonnes vont jusqu'à F. Range("A65536").End(xlUp).Row
te donne le n° de la dernière ligne utilisée

Essai et dis moi !!

"J&B" a écrit dans le message de news:
4873cef9$0$1277$
Bonsoir,

J'importe des données
Ces données sont en lignes et sur plusieurs colonnes.
je souhaiteria selectionner en automatique par VBA
la plage de cellule concerné pour traitement
jusque la ok
Par contre la dificulté c'est que le nombre de ligne est variable ( le
nombre de colonne est toujours le même)

Merci de votre aide
j&b



Avatar
J&B
Super
ça marche tres bien
milles merci
Mes lignes n'iront jamais au dela de 1000
Penses tu qu'il y est un gain memoire ou temps a modifier le 65536 par 1000
?????????
Question juste pour savoir
et encore Merci
J&B


"Ogespin" a écrit dans le message de news:
4873d37b$0$7113$
Bonsoir

Essai :

Set Maplage = Range("A1:F" & Range("A65536").End(xlUp).Row)

En admettant que tes colonnes vont jusqu'à F.
Range("A65536").End(xlUp).Row te donne le n° de la dernière ligne utilisée

Essai et dis moi !!

"J&B" a écrit dans le message de news:
4873cef9$0$1277$
Bonsoir,

J'importe des données
Ces données sont en lignes et sur plusieurs colonnes.
je souhaiteria selectionner en automatique par VBA
la plage de cellule concerné pour traitement
jusque la ok
Par contre la dificulté c'est que le nombre de ligne est variable ( le
nombre de colonne est toujours le même)

Merci de votre aide
j&b







Avatar
Misange
Bonjour

Non, mettre 1000 au lieu de 65536 n'apporte aucun gain apréciable.
Au lieu de définir ta plage en VBA, tu peux aussi la définir dans excel
en la nommant de façon dynamique en utilisant la fonction decaler. Elle
s'adaptera automatiquement à tes nouvelles données. L'avantage c'est que
dans ton code VBA, tu fais référence à ce nom, ce qui est plus lisible :
range("maplage").colorindex=3 par exemple.

pour la nommer, tu utilises par exemple
Þcaler($A$1;;;nbval($A:$A);nbval($1:$1))
de cette façon ta plage englobe toutes les données de ta table, que tu y
ajoutes des lignes ou des colonnes.
regarde les explications que j'ai donné sur ce point hier à Rthompson
(définition de plage nommée à 12h17)

Cela dit, la méthode indiquée par J&B est parfaitement valable et
adaptée dans bien des situations, c'était juste pour le schmilblick !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

J&B a écrit :
Super
ça marche tres bien
milles merci
Mes lignes n'iront jamais au dela de 1000
Penses tu qu'il y est un gain memoire ou temps a modifier le 65536 par 1000
?????????
Question juste pour savoir
et encore Merci
J&B


"Ogespin" a écrit dans le message de news:
4873d37b$0$7113$
Bonsoir

Essai :

Set Maplage = Range("A1:F" & Range("A65536").End(xlUp).Row)

En admettant que tes colonnes vont jusqu'à F.
Range("A65536").End(xlUp).Row te donne le n° de la dernière ligne utilisée

Essai et dis moi !!

"J&B" a écrit dans le message de news:
4873cef9$0$1277$
Bonsoir,

J'importe des données
Ces données sont en lignes et sur plusieurs colonnes.
je souhaiteria selectionner en automatique par VBA
la plage de cellule concerné pour traitement
jusque la ok
Par contre la dificulté c'est que le nombre de ligne est variable ( le
nombre de colonne est toujours le même)

Merci de votre aide
j&b