XL 2010 [RESOLU par Lone-Wolf]remettre curseur en dernière ligne+1 pas au-delà

cathodique

XLDnaute Barbatruc
Bonjour:),

Je pense que tout est dit dans le titre.

Je dois remplir une fiche qui commence en C4 jusqu'à F4.
Je voudrais empêcher la saisie si la cellule sélectionnée est différente de la dernière ligne+1.
exemple: dernière cellule non vide C15 ---> remettre curseur en C16 si ligne> à 16 sélectionnée.

ps: pas très copain avec 'Target'. Si vous voyez ce que je veux dire?!!!

En vous remerciant.
 

cathodique

XLDnaute Barbatruc
Bonjour DoubleZero:),

Merci beaucoup pour ton code. Je l'ai testé. Lorsque je sélectionne une cellule en colonne 3 (c) ou en colonne 4 (d), la sélection remonte mais pas pour les colonnes 5 et 6 ( E et F).

D'après les conditions (>2 et <7), normalement ça devrait fonctionner pour les colonnes 5 et 6.

Mais ce qui m'importe c'est la colonne 3.

Merci pour ton aide, j'apprécie.

Bon week-end.
edit: Target.End(xlUp)(2).Select que signifie le (2) merci.
 

DoubleZero

XLDnaute Barbatruc
Re-bonjour,
... D'après les conditions (>2 et <7), normalement ça devrait fonctionner pour les colonnes 5 et 6.
Mais ce qui m'importe c'est la colonne 3...
Faut-il limiter la sélection à deux colonnes uniquement ?

... edit: Target.End(xlUp)(2).Select que signifie le (2) merci.
Le (2) permet d'atteindre la première cellule vide de la colonne.

Dans le cas présent, (1) nous positionnerait en ligne 1, alors que (3) nous placerait deux cellules sous la dernière cellule renseignée.

Ne pas hésiter à faire des tests et dire si les explications ne sont pas claires.

A bientôt :)
 

DoubleZero

XLDnaute Barbatruc
Re-bonjour,

Mieux vaut utiliser ce code qui me semble plus complet :
VB:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal c As Range)
    If c.Row > 5 And c.Column > 2 And c.Column < 7 And c.Count = 1 And c.Value = "" Then c.End(xlUp)(2).Select
End Sub
A bientôt :)
 

cathodique

XLDnaute Barbatruc
Merci beaucoup Doublezero,

Je comprends mieux la chose. c'est comme le 3=xlup de End
End(3) et équivalent à End(xlUp).

En fait, je n'ai posé qu'une partie du but recherche. une partie je l'ai résolu.

Une valeur en colonne 3 est obligatoire. Donc j'ai mis en place une macro qui insère une liste de validation.

Le problème qui restait à résoudre, il fallait une continuité en colonne 3 (pas de cellules vident dans cette colonne) d'où l'idée de repositionnée sur la ligne non vide +1. Comme le transfert de donnée en derlig+1.

Merci beaucoup.

Bon week-end.
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 321
Messages
2 087 266
Membres
103 502
dernier inscrit
talebafia