Selectionner laprochaine cellule avec une valeur

Bonsoir à tous,

après des heures de recherche sans trouver ma réponse, je m'adresse au forum.

Ma requête est simple: je cherche à sélectionner la prochaine cellule avec une valeur après ma cellule active (qui se situe toujours sur la colonne N). Cette valeur que je veux sélectionner est trouvée par une formule dans un tableau adjacent à la colonne N donc débutant à la colonne O.

Sauf que je voudrai qu'excel sélectionne automatiquement cette dernière valeur qui peut aller de la colonne O à la colonne CX en partant de la dernière ligne.

Pour aller sur la dernière cellule du tableau partant de A3 à Nx j'ai le code suivant:

Sub ligne_active()

Cells(16384, 14).End(xlUp).Select

ActiveCell.Select

End Sub

J'ai essayé plusieurs macro mais aucune ne fonctionne.

Merci à tous pour votre aide

Bonjour,

explique plutôt ce que tu veux faire en réalité, sélectionner les cellules est rarement utile et c'est déconseillé.

eric

Bonjour DAVY03, eriiic,

à tester,

LastRow = Cells(Rows.Count, "A").End(xlUp).Row
LastColumn = Cells(LastRow, "N").End(xlToRight).Column
Application.Goto Cells(LastRow, LastColumn)

Bonjour Eriiic, bonjour sabV,

merci pour vos réponses.

Eric : la sélection de cette cellule me permet de lancer des macros dans un classeur où, en fonction de la saisie dans un formulaire, j'ai des données de prix, d'échéance à 30 ou 60j, une date de fin, une récurrence (mensuel, trimestriel,etc...). Et je trouve le montant sur lequel je dois faire ces calculs à partir d'une formule qui est: =SI(ET($F5>=O$2;$F5<P$2);$G5;"") pour la ligne 5.

sabV: j'avais essayé ce code, le problème est qu'il va sélectionner la dernière cellule avec une formule et non pas avec une valeur. Concrètement, je voudrai un code qui sélectionnerait dans mon tableau la cellule P4 (dernière cellule avec une valeur numérique).

Je vous joins mon tableau pour que ce soit plus clair.

Merci pour votre aide

Bonjour à tous,

As-tu esssayé une formule

=RECHERCHE(9.99999999999999E+307,4:4)

J'espère que cela t'aidera

Bonjour James007,

le problème est que j'ai déjà une formule dans mes cellules.

Je cherche plutôt un code vba.

Re,

De rien ...

Content d'apprendre que la formule produit bien le résultat que tu attendais ...

Si tu as besoin de l'équivalent dans ta macro ... tu peux tester :

MsgBox Application.WorksheetFunction.Lookup((9.99999999999999E+307,4:4)

J'espère que cela t'aidera

En fait, je ne peux pas intégrer la formule que tu m'as donnée.

Mon formulaire rempli des lignes dont la dernière se situe en colonne N.

A prtir de la colonne O j'ai un autre tableau de dates qui va chercher le montant inscrit dans la ligne correspondante (en colonne G). J'arrive à sélectionner automatiquement la cellule de la dernière ligne en colonne N, mais je voudrai ensuite que cette sélection se déplace dans le tableau débutant en colonne O et aille se positionner sur le montant correspondant à la colonne G (qui peut donc se situer de la colonne O à la colonne XX).

J'espère être plus clair.

Merci

je progresse avec le code:

Sub ligne_active()

Cells(16384, 14).End(xlUp).Select

ActiveCell.Select

ActiveCell.Offset(0, -7).Select

Cells.Find(What:="2000", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Select

End Sub

sauf qu'à la place de "2000" je voudrai mettre la valeur de la cellule active.

Et je n'y arrive pas.

Merci pour votre aide

Re,

As-tu essayé: ActiveCell.Value ...???

DAVY03 a écrit :

Bonjour Eriiic, bonjour sabV,

merci pour vos réponses.

Eric : la sélection de cette cellule me permet de lancer des macros dans un classeur où, en fonction de la saisie dans un formulaire, j'ai des données de prix, d'échéance à 30 ou 60j, une date de fin, une récurrence (mensuel, trimestriel,etc...). Et je trouve le montant sur lequel je dois faire ces calculs à partir d'une formule qui est: =SI(ET($F5>=O$2;$F5<P$2);$G5;"") pour la ligne 5.

Excel est un tableur, il sait faire des formules avec des SI ( ) on dirait donc bien que VBA soit inutile, comme le dit Eric.

au besoin un RECHERCHEV permet de récupérer une information dans un tableau séparé

J'ai réussi à faire ce que je voulais:

Sub ligne_active()

Cells(16384, 14).End(xlUp).Select

ActiveCell.Select

Call Valeur

Call copie_formule

ActiveSheet.Protect ("")

end sub

avec la macro valeur:

Sub Valeur()

Dim Valeur_cherchee As Variant

Valeur_cherchee = ActiveCell.Offset(0, -7).Value

ActiveCell.Select

Cells.Find(What:=Valeur_cherchee, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Select

ActiveCell.Select

End Sub

et une macro qui transforme le resultat d'une cellule en nombre.

Merci pour le coup de main.

De rien ....

Rechercher des sujets similaires à "selectionner laprochaine valeur"