|
|
|
|
Bonjour,
Je débute juste avec cet outil
Je cherche à récupérer la position d'une cellule, je ne trouve pas comment procéder
J'ai un tableau de N lignes, chaque ligne commence par un indice incrémenté de 1 à N
Je voudrais qu'un bouton ajoute une ligne entre N-1 et N, qui sera ensuite remplie
Problème :
Je peux repérer la ligne N grâce à MAX(Colonne A), qui trouve l'indice N
Application.WorksheetFunction.Max(Columns(1))
Mais je ne veux pas la valeur mais la position de la valeur
Comment faire ??
Merci pour vos propositions
mathieu
Configuration: Windows XP Firefox 3.5.2
Merci
'------------------------------------
' get last line position
Dim index, new_index, line As Integer
line = 8
index_last = 0
index_new = Cells(line, 1).Value
Do While index_new > index_last
line = line + 1
index_last = index_new
index_new = Cells(line, 1).Value
Loop
'------------------------------------
' add a line before the last one
Rows(line - 1).Insert Shift:=xlDown
mais je veux que tu m'explque, j'aime bien l'idée de le faire en une ligne, et j'apprends... sinon merci |
Re,
dim lig as long lig=Columns(1).Find(Application.Max(Columns(1)), [A65536]).Row (testée chez moi :OK) [A65536] forme abrégée pour feignant (donc j'utilise) de range("A65536") regarde Find dans l'aide: FInd(what,after) la recherche commence APRES la cellule donc après A65536 (XL<2007) on a A1 Dans ton 1° message tu disais chercher la position de la valeur maxi, instruction qu'on ne retrouve pas dans la copie de ta macro. Si tu cherches la dernière ligne occupée (au cas où) lig=range("A65536").end(xlup).row
Cordialement, Michel |
Dans le doute j'ai réessayé la formule donnée, ça fonctionne
|