Centrer une cellule, explication
simonsimon1
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai ce premier code :
Et celui là :
Je comprends ce que fais le code à la fin (centrer sur B4) mais j'aurais aimé savoir si il était possible de m'expliquer exactement ce que fais exactement cette ligne : ActiveWindow.VisibleRange.Rows.Count / 2
(et les autres au passage, notamment ActiveWindow.ScrollColumn)
Ils entendent quoi exactement par cellules visibles car si c'était toutes les cellules de la feuille, ça me renverrai à chaque fois 1 et donc pas la cellule B4 au final..
Voilà, j'espère que quelqu'un pourra m'éclairer
Merci!!
J'ai ce premier code :
Private Sub CommandButton1_Click() Sheets("feuil2").Select Range("B4").Select Set rcible = Range("B4") Run ("CentrerCellule") End Sub
Et celui là :
Sub CentrerCellule() Dim iRow As Integer Dim iCol As Integer iRow = rcible.Row - ActiveWindow.VisibleRange.Rows.Count / 2 If iRow < 1 Then iRow = 1 iCol = rcible.Column - ActiveWindow.VisibleRange.Columns.Count / 2 If iCol < 1 Then iCol = 1 ActiveWindow.ScrollColumn = iCol ActiveWindow.ScrollRow = iRow End Sub
Je comprends ce que fais le code à la fin (centrer sur B4) mais j'aurais aimé savoir si il était possible de m'expliquer exactement ce que fais exactement cette ligne : ActiveWindow.VisibleRange.Rows.Count / 2
(et les autres au passage, notamment ActiveWindow.ScrollColumn)
Ils entendent quoi exactement par cellules visibles car si c'était toutes les cellules de la feuille, ça me renverrai à chaque fois 1 et donc pas la cellule B4 au final..
Voilà, j'espère que quelqu'un pourra m'éclairer
Merci!!
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Centrer une cellule, explication
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- Proteger cellule excel - Guide
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule ✓ - Forum Excel
- Chambre 1408 explication fin - Forum Cinéma / Télé
4 réponses
bonjour
pour centrer ses tout simple
A+
pour centrer ses tout simple
Sub Macro1()
Sheets("Feuil2").Range("B4").HorizontalAlignment = xlCenter
End Sub
A+
Bonjour
Cette procédure centre la cellule rcible dans la feuille (visible)
Exemple
En supposant qu'au départ
- la 1° cellule visible est A1
- les colonnes visibles vont de A à K (11 colonnes)
- les lignes visibles vont de 1 à 31 (31 lignes)
- la cellule rcible a pour adresse H20
iRow et iCol seront calculées comme les coordonnées de la 1° cellule (en haut à gauche) de fenêtre visible centrée sur rcible
rcible.Row renvoie le numéro de ligne de rcible (20)
ActiveWindow.VisibleRange.Rows.Count : renvoie le nombre de lignes visibles dans la feuille (31)
ActiveWindow.VisibleRange.Rows.Count \ 2 renvoie donc 15
rcible.row est le numéro de ligne de la cellule rcible
iRow = rcible.Row - ActiveWindow.VisibleRange.Rows.Count \ 2 donnera 5 (1° ligne de la fenêtre vivible)
idem pour le calcul de iCol qui vaudra 8-11\2 = 3 (colonne C)
ActiveWindow.ScrollRow : définit le numéro de la 1° ligne de la fenêtre visible
idem pour ActiveWindow.ScrollColumn = iCol
et la 1° cellule (en haut à gauche) de la fenêtre sera C5
Cdlmnt
Dim rcible As Range Sub CentrerCellule() Dim iRow As Integer Dim iCol As Integer Set rcible = Range("H20") iRow = rcible.Row - ActiveWindow.VisibleRange.Rows.Count \ 2 If iRow < 1 Then iRow = 1 iCol = rcible.Column - ActiveWindow.VisibleRange.Columns.Count \ 2 If iCol < 1 Then iCol = 1 ActiveWindow.ScrollColumn = iCol ActiveWindow.ScrollRow = iRow End Sub
Cette procédure centre la cellule rcible dans la feuille (visible)
Exemple
En supposant qu'au départ
- la 1° cellule visible est A1
- les colonnes visibles vont de A à K (11 colonnes)
- les lignes visibles vont de 1 à 31 (31 lignes)
- la cellule rcible a pour adresse H20
iRow et iCol seront calculées comme les coordonnées de la 1° cellule (en haut à gauche) de fenêtre visible centrée sur rcible
rcible.Row renvoie le numéro de ligne de rcible (20)
ActiveWindow.VisibleRange.Rows.Count : renvoie le nombre de lignes visibles dans la feuille (31)
ActiveWindow.VisibleRange.Rows.Count \ 2 renvoie donc 15
rcible.row est le numéro de ligne de la cellule rcible
iRow = rcible.Row - ActiveWindow.VisibleRange.Rows.Count \ 2 donnera 5 (1° ligne de la fenêtre vivible)
idem pour le calcul de iCol qui vaudra 8-11\2 = 3 (colonne C)
ActiveWindow.ScrollRow : définit le numéro de la 1° ligne de la fenêtre visible
idem pour ActiveWindow.ScrollColumn = iCol
et la 1° cellule (en haut à gauche) de la fenêtre sera C5
Cdlmnt