Demande précision sur Target.offset

dss

XLDnaute Occasionnel
Bonsoir le forum,

J'ai le code suivant :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 11 And Target.Row Then
Target.Offset(0, -2).ClearContents (Message debogueur feuille protégée).Effectivement les lignes au-dessus de la ligne concernée (target.row) sont protégées une fois validées.


J'ai absolument besoin de protéger chaque ligne qui a été validée : Au niveau de Target.offset, y a t il possibilité de spécifier que le (0, -2) s'applique uniquement sur la ligne concernée (target.row) qui elle n'est pas encore validée et protégée par "Protect".
 

Ommagawi

XLDnaute Junior
C'est encore moi,
Cette fois ci je voudrais qu'à l'ouverture d'une feuille me positionner sur la dernière ligne et première colonne d'un tableau.
J'ai utilisé
Dim LastCol As Long
LastCol = (1, Columns.Count). End (xlToLeft).Column
mais ça ne marche pas !
Quelle est la solution ?
Merci
 

job75

XLDnaute Barbatruc
Bonjour,

Vous parlez de dernière ligne alors LastLig = Cells(Rows.Count, 1). End (xlUp).Row

Edit : vous ne croyez pas que vous avez assez squatté ce fil ?

On ne va pas continuer comme ça pendant des heures !!!

A+
 
Dernière édition:

soan

XLDnaute Barbatruc
Inactif
Bonjour Ommagawi, job75,

l'instruction VBA indiquée par job75 est correcte ; elle retourne
la dernière ligne utilisée de la colonne A.



je précise quand même que ton instruction VBA est incorrecte :

LastCol = (1, Columns.Count). End (xlToLeft).Column

elle devrait être écrite ainsi :

LastCol = Cells(1, Columns.Count).End(xlToLeft).Column

oubli du mot-clé Cells, et il y a 2 espaces en trop, un avant le End et un autre après ! de plus, elle retourne la dernière colonne utilisée de la ligne 1 ; ce n'est pas pour retourner un n° de dernière ligne !​



autre chose : pour un n° de colonne, c'est inutile d'utiliser une variable de type Long, le type Integer suffit largement ; donc au lieu de : Dim LastCol As Long tu peux mettre : Dim LastCol As Integer ; ou son équivalent : Dim LastCol% (voir dans l'Aide VBA les "caractères de type").​



si tu as un autre petit détail à demander, je veux bien te répondre ici car je crois que ça serait un peu inutile de créer un sujet juste pour une réponse très courte ; mais si tu as quelque chose d'autre de plus conséquent à demander, alors comme le recommande job75, ce sera bien mieux que tu crées ton propre sujet. :) en même temps, tu as ces 4 avantages : plus de contributeurs verront ta demande ; tu auras plus de chances de recevoir des réponses ; ton sujet pourra être inscrit automatiquement dans les discussions similaires (en bas de la page web) ; tu pourras marquer un des posts de réponse en tant que solution.​

soan
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
315 144
Messages
2 116 726
Membres
112 848
dernier inscrit
Sylvester K Pope