OVH Cloud OVH Cloud

Modification de la cellule active

3 réponses
Avatar
Stéphan DuQuébec
Bien le bonjour,

Existe-t-il, en VBA, un terme pour cibler une plage de cellules (dans le but
d'une mise en forme mettons) sans pour les activer.

Je m'explique.

Dans une procédure quelconque, ma cellule active est déterminée à la suite
d'une série de conditions (pour l'exemple mettons la cellule active devient
M35). Dans la dernière partie de ma procédure, je veux ensuite affecter à 3
colonnes le statut de cellules verrouillées.

......
Range("N:N,L:L,G:G").Select
Range("G1").Activate
Selection.Locked = True
Selection.FormulaHidden = False
End Sub

Mon problème est qu'à la suite de ça, ma cellule active n'est plus M35.

Y a-t-il un autre terme que Select ou Activate pour éviter que ma cellule
active demeure M35 même après la fin de procédure décrite ci-dessus.

Merci.

3 réponses

Avatar
isabelle
bonjour Stéphan,

with Range("G1")
.Locked = True
.FormulaHidden = False
end with

isabelle


Bien le bonjour,

Existe-t-il, en VBA, un terme pour cibler une plage de cellules (dans le but
d'une mise en forme mettons) sans pour les activer.

Je m'explique.

Dans une procédure quelconque, ma cellule active est déterminée à la suite
d'une série de conditions (pour l'exemple mettons la cellule active devient
M35). Dans la dernière partie de ma procédure, je veux ensuite affecter à 3
colonnes le statut de cellules verrouillées.

......
Range("N:N,L:L,G:G").Select
Range("G1").Activate
Selection.Locked = True
Selection.FormulaHidden = False
End Sub

Mon problème est qu'à la suite de ça, ma cellule active n'est plus M35.

Y a-t-il un autre terme que Select ou Activate pour éviter que ma cellule
active demeure M35 même après la fin de procédure décrite ci-dessus.

Merci.


Avatar
Patrick Fredin
Bonjour,

Le gros avantage avec VBA c'est que tu n'as pas besoin d'être dans une
cellule pour y apporter des changement.

Ton code devient :

With Range("N:N,L:L,G:G")
.Locked = True
.FormulaHidden = False
End With

J'ai utilisé "With" pour éviter de réécrire les cellules sélectionnées.

--
Patrick

"Stéphan DuQuébec" wrote in
message news:
Bien le bonjour,

Existe-t-il, en VBA, un terme pour cibler une plage de cellules (dans le
but
d'une mise en forme mettons) sans pour les activer.

Je m'explique.

Dans une procédure quelconque, ma cellule active est déterminée à la suite
d'une série de conditions (pour l'exemple mettons la cellule active
devient
M35). Dans la dernière partie de ma procédure, je veux ensuite affecter à
3
colonnes le statut de cellules verrouillées.

......
Range("N:N,L:L,G:G").Select
Range("G1").Activate
Selection.Locked = True
Selection.FormulaHidden = False
End Sub

Mon problème est qu'à la suite de ça, ma cellule active n'est plus M35.

Y a-t-il un autre terme que Select ou Activate pour éviter que ma cellule
active demeure M35 même après la fin de procédure décrite ci-dessus.

Merci.




Avatar
Stéphan DuQuébec
Merci à vous 2 Isabelle & Patrick,

Je tentais quelques variantes avec la proposition d'Isabelle parce que je
n'arrivais pas tout à fait à ce que je pensais au départ. Mais avec celle de
Patrick, tout est A1 !

Une bonne journée/soirée selon où vous êtes !



Bonjour,

Le gros avantage avec VBA c'est que tu n'as pas besoin d'être dans une
cellule pour y apporter des changement.

Ton code devient :

With Range("N:N,L:L,G:G")
.Locked = True
.FormulaHidden = False
End With

J'ai utilisé "With" pour éviter de réécrire les cellules sélectionnées.

--
Patrick

"Stéphan DuQuébec" wrote in
message news:
Bien le bonjour,

Existe-t-il, en VBA, un terme pour cibler une plage de cellules (dans le
but
d'une mise en forme mettons) sans pour les activer.

Je m'explique.

Dans une procédure quelconque, ma cellule active est déterminée à la suite
d'une série de conditions (pour l'exemple mettons la cellule active
devient
M35). Dans la dernière partie de ma procédure, je veux ensuite affecter à
3
colonnes le statut de cellules verrouillées.

......
Range("N:N,L:L,G:G").Select
Range("G1").Activate
Selection.Locked = True
Selection.FormulaHidden = False
End Sub

Mon problème est qu'à la suite de ça, ma cellule active n'est plus M35.

Y a-t-il un autre terme que Select ou Activate pour éviter que ma cellule
active demeure M35 même après la fin de procédure décrite ci-dessus.

Merci.