TRI AUTOMATIQUE D'UNE ZONE EXCEL DÈS QUE L'ON CHANGE UNE VALEURE.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
27 oct. 2006 à 14:38
docjfnoel
Messages postés1Date d'inscriptionmercredi 16 mai 2007StatutMembreDernière intervention17 mai 2007
-
17 mai 2007 à 19:18
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
docjfnoel
Messages postés1Date d'inscriptionmercredi 16 mai 2007StatutMembreDernière intervention17 mai 2007 17 mai 2007 à 19:18
Bonjour,
Je suis néophite en programmation. C'est exactement la fonction que je cherche. Pourrait-on m'expliquer pas à pas comment la mettre dans mon tableur?
Merci
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 28 oct. 2006 à 14:51
Salut BPM12,
beh en fait son but dans sa boucle c'est de rechercher la première cellule vide.
Concernant ma fonction, DerLigne sera égale à la dernière ligne utilisée car la fonction Find recherche "", donc rien, donc cellule vide.
Tout ceci à partir de B65536 et en remontant.
Sachant que j'ai mis moins 1 à la fin, le résultat sera donc la dernière ligne utilisée.
Tu dis "Mais ensuite, tu as nothing en retour à un Find avec argument "" pour valeur recherchée"
>> beh non, si dans la colonne B, il n'y a aucune valeur, tu auras une erreur, facilement gérable, sinon, tu auras bien la derniere ligne utilisée.
Je t'invite à faire le test, place qques données dans la colonne B, et place même des cellules vides entre plusieurs :
Dim DerLigne
Pour le Column, oui, c'est une faute d'orthographe.
Sinon, pour l'auteur de cette source, en me relisant j'y suis allé un peu fort sur un terme "ambigüe" :
Quand je dis "code inutile, ce n'est pas vraiment une source...", il faut entendre plutôt "source inutile, ce n'est pas vraiment une source... mais plutôt un snippet".
bpm12
Messages postés10Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention28 octobre 2006 28 oct. 2006 à 14:09
Mortalino,
As-tu pris le temps de vérifier ta proposition ?
Si elle fonctionne, dis nous comment?
En premier, ce n'est pas Column mais Columns (une faute de synthaxe est toujours excusable),
Mais ensuite, tu as nothing en retour à un Find avec argument "" pour valeur recherchée.
@+
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 27 oct. 2006 à 14:38
Salut,
code inutile, ce n'est pas vraiment une source....
De plus, ta boucle
While ActiveCell.Offset(i, 0).Text <> ""
i = i + 1
Wend
bouffe des resources pour rien :
il faut préférer :
DerLigne = Sheets(N°).Column(N°).Find("", [B65536], , , xlByRows, xlNext).Row - 1
Tout ton code est perfectible et là ça calcul même quand la mauvaise colonne est sélectionnée (perd du temps et des ressources).
17 mai 2007 à 19:18
Je suis néophite en programmation. C'est exactement la fonction que je cherche. Pourrait-on m'expliquer pas à pas comment la mettre dans mon tableur?
Merci
28 oct. 2006 à 14:51
beh en fait son but dans sa boucle c'est de rechercher la première cellule vide.
Concernant ma fonction, DerLigne sera égale à la dernière ligne utilisée car la fonction Find recherche "", donc rien, donc cellule vide.
Tout ceci à partir de B65536 et en remontant.
Sachant que j'ai mis moins 1 à la fin, le résultat sera donc la dernière ligne utilisée.
Tu dis "Mais ensuite, tu as nothing en retour à un Find avec argument "" pour valeur recherchée"
>> beh non, si dans la colonne B, il n'y a aucune valeur, tu auras une erreur, facilement gérable, sinon, tu auras bien la derniere ligne utilisée.
Je t'invite à faire le test, place qques données dans la colonne B, et place même des cellules vides entre plusieurs :
Dim DerLigne
DerLigne = Sheets(1).Columns(2).Find("", [B65536], , , xlByRows, xlPrevious).Row - 1
Pour le Column, oui, c'est une faute d'orthographe.
Sinon, pour l'auteur de cette source, en me relisant j'y suis allé un peu fort sur un terme "ambigüe" :
Quand je dis "code inutile, ce n'est pas vraiment une source...", il faut entendre plutôt "source inutile, ce n'est pas vraiment une source... mais plutôt un snippet".
Exemple de qques snippets que j'ai déposé (et pas en source) :
http://www.codyx.org/snippet_rechercher-ligne-vide-dans-excel_205.aspx
http://www.codyx.org/snippet_rechercher-premiere-ligne-ou-colonne-vide-partir-cellule_206.aspx
@++
28 oct. 2006 à 14:09
As-tu pris le temps de vérifier ta proposition ?
Si elle fonctionne, dis nous comment?
En premier, ce n'est pas Column mais Columns (une faute de synthaxe est toujours excusable),
Mais ensuite, tu as nothing en retour à un Find avec argument "" pour valeur recherchée.
@+
27 oct. 2006 à 14:38
code inutile, ce n'est pas vraiment une source....
De plus, ta boucle
While ActiveCell.Offset(i, 0).Text <> ""
i = i + 1
Wend
bouffe des resources pour rien :
il faut préférer :
DerLigne = Sheets(N°).Column(N°).Find("", [B65536], , , xlByRows, xlNext).Row - 1
Tout ton code est perfectible et là ça calcul même quand la mauvaise colonne est sélectionnée (perd du temps et des ressources).
Bref, t'as encore des choses à travailler...
++