cs_nevil
Messages postés10Date d'inscriptionmercredi 19 décembre 2001StatutMembreDernière intervention31 juillet 2007
-
19 déc. 2005 à 09:35
TFlorian
Messages postés194Date d'inscriptiondimanche 3 mars 2002StatutMembreDernière intervention19 décembre 2005
-
19 déc. 2005 à 20:46
Alors voila, je traite une base de données excel contenu dans un tableau.Quand je fé mes recherche, je recherche de A1 juska Z10000 comme ca je suis sur de perde ocune données. Mais si mon tableau n'est defini ke sur A1-C15, il recherche dans une sélection bien tro grande et donc perd du temps.
Comment est ce ke je pouré faire pour ke lorsk je positionne mon curseur dans ce tableau, les dimsenions exact de ce tableau soit détecté et si possible, stocké dans une variable ??
TFlorian
Messages postés194Date d'inscriptiondimanche 3 mars 2002StatutMembreDernière intervention19 décembre 20053 19 déc. 2005 à 20:46
met le code suivant dans un module, vas sur la claseur selectionne une zone puis fait executer la macro 1
une boite de message affiche alors la dimention de la sélection ! (cette boite est crée par la fonction msgbox)
Lorsque tu vas faire un tours dans ta fenetre de debug tu retrouve la
meme valeur que ce qu'il y avais ecrit dans la boite de message.
(debug.print)
Sub Macro1()
'
' Macro1 Macro
' Macro par Florian TRAON
'
Debug.Print ActiveWindow.RangeSelection.Address
MsgBox ActiveWindow.RangeSelection.Address
End Sub
cela te permet de sélectionner a la main une zone ..
si tu veux que le systeme réalise la sélection tout seul il faut avoir
certaines conditions sur ton tableau (comme par exemple qu'il soit
continu) tu recupère donc ta position (par la meme methode ou par
Debug.Print ActiveWindow.ActiveCell.Address qui ne te renvoi que la
celule principale (meme pour une selection )
ensuite tu réalise une recherche du début de l'espace (haut gauche) une foi que tu l'a trouvé tu recherche la fin (bas droit)
astuce : tu utilisera : while(cells(a,b)<>"") avec a et b initialisée avec les valeurs issues de ActiveCell.Address
pui incrémentée dans la boucle pour trouver la fin (ou le debut) de la zone
Voila ..
bon .. je doit avouer que je suis pas trop rentré dans les détailles
pour la recherche de la dimention du tableau .. c'est une methode qui
me parait un peu "lourde" mais qui a le merite de fonctionnée ...
surtout n'esite pas a me poser quelque question si tu veux plus d'info !