• Initiateur de la discussion Initiateur de la discussion zacari
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Z

zacari

Guest
Bonjour le forum,

Voilà, je voudrais faire un déplacement après validation d'une cellule.
Avant de m'empettrer dans une explication litérale nullissime, voici un exemple :
Après par exemple qu'un utilisateur ai entrée "non" dans la cellule A1, je veux me retrouver automatiquement non seulement en cellule R1 mais surtout, je veux que la cellule R1 soit visuellement ma 1ere cellule en haut à gauche, quelque soit la largeur de mes colonnes ou quelque soit la taille ou la résolution de mon écran.

Bien évidement, j'ai essayé ActiveWindow.SmallScroll ToRight:=xx mais ça ne fonctionne pas.

Merci d'avance pour vos excellentes réponses.
 
Re : déplacement strict

zacari à dit:
Bonjour le forum,

Voilà, je voudrais faire un déplacement après validation d'une cellule.
Avant de m'empettrer dans une explication litérale nullissime, voici un exemple :
Après par exemple qu'un utilisateur ai entrée "non" dans la cellule A1, je veux me retrouver automatiquement non seulement en cellule R1 mais surtout, je veux que la cellule R1 soit visuellement ma 1ere cellule en haut à gauche, quelque soit la largeur de mes colonnes ou quelque soit la taille ou la résolution de mon écran.

Bien évidement, j'ai essayé ActiveWindow.SmallScroll ToRight:=xx mais ça ne fonctionne pas.

Merci d'avance pour vos excellentes réponses.
Salut
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'si ça ne concerne pas A1, on sort
If Target.Address(0, 0) <> "A1" Then Exit Sub
'si non est ecrit dans A1
If UCase(Target) = "NON" Then
    'On sélectionne R10
    Range("R10").Activate
    'on met la cellule R10 en haut à gauche de la fenêtre mobile
    '(tient compte des volets)
    ActiveWindow.ScrollColumn = ActiveCell.Column
    ActiveWindow.ScrollRow = ActiveCell.Row
End If
End Sub
C'est dans le module de classe liée à la feuille oligatoirement

si on mets non (quelque soit la combinaison Majuscules/minuscules) en A1, on passe directement à la cellule R10 qui est activée
ça ne marchera pas si tu as copier non, et que tu faits un coller sur plusieurs cellules, y compris A1.
si c'est le cas, il faut faire une instruction un peu plus complexe

si tu veux modifier ta feuille par macro, il faut penser à interdire les évènements pendant ce temps, pour éviter un bouclage
Macro Change modifie la feuille => la feuille change => on lance la macro change qui modifie la feuille et on boucle
A+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

E
Réponses
8
Affichages
3 K
Elegancya
E
F
Réponses
5
Affichages
2 K
Faranor
F
D
Réponses
5
Affichages
2 K
Dje_Ejd
D
J
Réponses
2
Affichages
1 K
J
P
Réponses
2
Affichages
1 K
P
G
Réponses
17
Affichages
2 K
G
A
Réponses
5
Affichages
1 K
I
Réponses
1
Affichages
1 K
insosama
I
Z
Réponses
11
Affichages
7 K
zitoune555
Z
Retour