Worksheet_SelectionChange

Résolu
amo-51 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour;
j'ai des problèmes avec la fonction worksheet_SelectionChange
excel ne réagit pas à ma macro
normalement cette macro me permet de bloquer les colonnes C , I à K, si on clique sur une cellule de ces colonnes excel nous renvoie a A1

voici ma macro
Private Sub worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("c:c, I:K"), Target) Is Nothing Then 'selection des colonnes
Target.Offset(0, 1).Select
End If
End Sub

merci de m'aider

5 réponses

paul
 
Remplace Target.Offset(0, 1).Select par [A1].Select
0
amo-51 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour votre aide mais ca n'a pas marché
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, j'ai testé ton code initial, et l'amélioration proposée par paul. les deux fonctionnent bien, ne permettent pas de sélectionner les colonnes que tu souhaites protéger. celui de paul renvoie à A1, tandis que le tien déplace la sélection vers la droite.
je me demande si tu as inséré le code VBA au bon endroit: est-il bien associé à la bonne feuille?
0
paul
 
Bonjour amo-51,

Mon 1er message était pour sélectionner la cellule A1 ;
suite au message de yg_be, je propose 2 autres codes.

1er code VBA :


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect(Range("C:C, I:K"), Target) Is Nothing Then
    ' sélection de la colonne de la cellule active (C, I ou K)
    Target.EntireColumn.Select
  End If
End Sub


2ème code VBA :


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect(Range("C:C, I:K"), Target) Is Nothing Then
    ' sélection des 3 colonnes C, I et K
    Range("C:C, I:I, K:K").Columns.Select
  End If
End Sub


Merci de me donner ton avis.

Cordialement
 
0
amo-51
 
bonjour

merci mes messieurs pour votre aide

mais ca marche toujours pas

bon ce que je veux est simple
je m'explique

j'aimerai bloquer la saisie dans les colonnes C et I jusqu'à K

merci de m'aider
0
paul > amo-51
 
 
Bonjour,

1) Quel est le nom exact de la feuille où tu veux bloquer la saisie ?
    "Feuil6" ? autre ? à supposer que ce soit "Feuil6", le code VBA
    doit être placé dans Feuil6 : Alt F11 pour aller sur Visual Basic ;
    côté gauche, en haut, fais un double-clic sur Feuil6 => à droite :
    page de code de Feuil6.

2) Tu as écris : « bloquer la saisie dans les colonnes C et I jusqu'à K ».
    Pourquoi vouloir le faire par VBA ? sur "Feuil6", sélectionne ta colonne C
    et tes colonnes I à K ; clic droit sur la sélection, Format de cellule, onglet
    Protection : ☑ Verrouillée (mais normalement c'est déjà coché) ; après
    protection de "Feuil6", c'est alors impossible de saisir dans les cellules
    verrouillées => tes colonnes sont bien bloquées.
 
Si tu tiens absolument à le faire par une macro événementielle VBA :


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ActiveSheet.Unprotect
    Range("C:C, I:K").Columns.Locked = True
    ActiveSheet.Protect
End Sub


Mais c'est inutile de faire ce travail à chaque fois que tu cliques
sur une cellule de ces colonnes ! enfin, c'est toi qui vois...

À te lire pour avoir ton avis.
 
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
je me demande si tu as inséré le code VBA au bon endroit: est-il bien associé à la bonne feuille?
0
amo-51 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention  
 
comment le savoir
0
amo-51 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention  
 
au faite j'ai ajouté
feuil6.select en deuxième ligne
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
feuil6.select
If Not Intersect(Range("C:C, I:K"), Target) Is Nothing Then
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > amo-51 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention  
 
Deux façons de vérifier si le code est associé à la bonne feuille:
Dans l'éditeur VBA, dans l’Explorateur de projets, si tu double cliques sur la "bonne" feuille de calcul, vois-tu le code à droite?
Quand tu cliques dans le code, quel est l'élément grisé dans l'explorateur de projet?
0
amo-51 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai bien suivi tes orientations

je n'ai pas trouvé ma macro dans aucune des feuilles soit de 1 à 6

question où est ma macro

ceci étant donner, j'ai comme même une solution
j'ai écris ma macro sur la feuille 6
merci

reste que, je ne sais pas encore où se trouve la première macro (initial)
merci de m'expliquer
0
amo-51 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention  
 
Peut etre qu'elle est dans le module 1
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
amo-51 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention  
 
merci paul

et merci yg

vous m'avez bien aidé
0