Excel cellule active ds coin haut gauche
Résolu/Fermé
le Glauque
Messages postés
63
Date d'inscription
jeudi 24 avril 2008
Statut
Membre
Dernière intervention
19 avril 2021
-
24 avril 2008 à 18:06
le Glauque Messages postés 63 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 19 avril 2021 - 14 mai 2008 à 18:26
le Glauque Messages postés 63 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 19 avril 2021 - 14 mai 2008 à 18:26
A voir également:
- Cellule active excel formule
- Liste déroulante excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Verrouiller cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Formule excel - Guide
1 réponse
LePierre
Messages postés
249
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
2 août 2012
337
25 avril 2008 à 09:26
25 avril 2008 à 09:26
bonjour
en cherchant sur les forums j'avais trouvé ceci qui devrait te convenir :
à plus
en cherchant sur les forums j'avais trouvé ceci qui devrait te convenir :
Sub test() 'pour placer la cellule S4 en haut à gauche Ligne 4, colonne 19 Onglet = ActiveSheet.Name MakeTopLeft ThisWorkbook.Sheets(Onglet).Cells(4, 19) End Sub Sub MakeTopLeft(R As Range) R.Parent.Activate ActiveWindow.ScrollRow = R.Row ActiveWindow.ScrollColumn = R.Column End Sub
à plus
27 avril 2008 à 21:59
Alors j'ai copié tout ça ds le volet (Feuil1).
Donc, la cellule concernée arrive bien en haut à gauche (et ça, c'est super !)...
mais ce n'est pas la "cellule active", cette dernière reste la cellule précédemment sélectionnée...
En outre, est-ce que vous pourriez un peu m'expliquer en quoi ça consiste
(enfin, si c'est pas trop compliqué et si ça vous ennuie pas trop).
J'aime bien essayer de comprendre un peu...
Merci d'avance,
l.G.
28 avril 2008 à 11:09
voici le code adapté pour placé la cellule active en haut à gauche :
la propriété ScrollRow, renvoie ou définit le numéro de la ligne qui apparaît en haut du volet ou de la fenêtre.
tu peux aussi utiliser tout simplement ces deux lignes de code (plus simple que l'appelle à la procédure "MakeTopLeft") :
tout dépend de ton usage.
à plus
29 avril 2008 à 17:31
J'ai copié tes deux petites lignes de code à la suite de la Macro que j'avais enregistré préalablement...
et ça marche !
J'ai recopié ça ds toutes les macros concernées... c'est super ! Merci bcp !
Voilà ce que ça donne
(le but du jeu est d'aller chercher le titre d'une catégorie de Compétences, afin d'avoir celles ci directement sous les yeux) :
Sub Per()
Sheets("Compétences").Select
Range("A81").Select
ActiveWindow.ScrollRow = Selection.Row
ActiveWindow.ScrollColumn = Selection.Column
End Sub
Donc, pour celle ci, il va me chercher la cellule du titre des compétences de Perception, et me la positionne en haut à gauche de l'écran.
J'ai donc ensuite toutes les compétences de Perception en dessous...
C'est parfait !
En revanche, ça avait l'air très bien, tout le MakeTopLeft, etc.
Etait-ce une manière de faire la même chose par d'autres voies ?
Merci encore !
l.G.
29 avril 2008 à 18:02
l'intérêt de faire appel à une procédure "MakeTopLeft" par exemple c'est que ton code principal s'en trouve allégé donc plus facile à mettre au point en cas de problèmes ou modifications ultérieures.
Mais le principal c'est que ça fonctionne correctement.
Bonne journée et à plus
1 mai 2008 à 18:46
Sub MakeTopLeft(R As Range)
R.Parent.Activate
ActiveWindow.ScrollRow = R.Row
ActiveWindow.ScrollColumn = R.Column
End Sub
dans les Procédures di doc ?
et ensuite, celle ci :
Sub test()
LigIni = Selection.Row
Colini = Selection.Column
Onglet = ActiveSheet.Name
End Sub
dans les Fonctions ?
Et donc, après, ds les modules, si par ex, je veux qu'une Macro place la cellule A75 en haut à gauche, et que cette cellule devienne active
Sub test()
MakeTopLeft ThisWorkbook.Sheets(Onglet).Cells(75, 1i)
End Sub
Est-ce que je suis ds le bon ?
ThisWorkbook, ça désigne le document actuel ?
Sheets, ça, c'est la Feuille. Faut-il renseigner le nom de la feuille ?
Si cette feuille porte un nom (par ex "Compétences"), est-ce qu'il faut mettre :
Sub test()
MakeTopLeft ThisWorkbook.Sheets(Compétences).Cells(75, 1i)
End Sub
Désolé,
ces questions sont peut-être un peu basiques...
Merci d'avance...