Zoom automatique [Résolu/Fermé]

Signaler
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
-
mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
-
Bonjour,

Pour faire un zoom sur une zone d’un tableau peut-on remplacer les cellules B8 :C10, dans l’exemple ci-dessous, par un nom de variable qui contiendrait ces paramètres, par exemple par PLAGES


Range("B8:C10").Select
ActiveWindow.zoom = True


cordialement

6 réponses

Messages postés
11591
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
23 janvier 2020
1 609
Bonsoir

En mettant par exemple la plage en B1 : B8:C10, en nommant cette cellule PLAGE et en modifiant ainsi la macro :
Range(Range("PLAGE")).Select
 ActiveWindow.Zoom = True


Cdlmnt
Via
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7
Bonjour,

La solution de VIA55 (1) marche nickel avec les coordonnées dans une cellule. Merci

J’ai fait un essai en adaptant cette solution dans ma macro, et ça ne marche pas, y a-t-il une modification à apporter ? Merci pour vos réponses.

Voici les codes que j’ai utilisés :

Const plage = "C12:K21"

Sub Macro3()
range(range("plage")).Select
ActiveWindow.zoom = True

End Sub


Cordialement
Messages postés
11591
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
23 janvier 2020
1 609
Re

Si la plage est une constante plage définie dans la macro le code est alors simplement :
Sub Macro3()
Range(plage).Select
 ActiveWindow.Zoom = True
End Sub


Cdlmnt
Via

"L'imagination est plus importante que le savoir."    A. Einstein
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7
ça marche très bien. merci

et dans le cas ou le résultat est :

Set plage = range(Cells(premlig, premcol), Cells(derlig, dercol))

cordialement
Messages postés
11591
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
23 janvier 2020
1 609
Re,

Dans ce cas la variable plage récupère les données dans une cellule dont tu as indiqué les coordonnées il doit donc y avoir dans cette cellule par ex C12:K21) et on retombe dans le cas de la 1ere macro que je t'avais indiqué

Cdlmnt
mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7
J'ai ajouter le code dan une fonction que m'avais donnée CCM81 mais ça ne marche pas :
peut-être que je 'ai pas bien compris tes explications.


Sub zoom()
' zoom Macro
Dim derlig As Long, dercol As Long, plage As range
Dim premlig As Long, premcol As Long
derlig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
premlig = Cells.Find("*", , , , xlByRows, xlNext).Row
dercol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
premcol = Cells.Find("*", , , , xlByColumns, xlNext).Column
Set plage = range(Cells(premlig, premcol), Cells(derlig, dercol))
range(range("PLAGE")).Select
ActiveWindow.zoom = True

cordialement
via55
Messages postés
11591
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
23 janvier 2020
1 609 > mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019

Non désolé c'est moi qui n'avais pas compris (j'aurais du!) que tu voulais définir la plage dans la macro
Donc tu remplaces
Set plage = range(Cells(premlig, premcol), Cells(derlig, dercol))
range(range("PLAGE")).Select
ActiveWindow.zoom = True

simplement par
Range(Cells(premlig, premcol), Cells(derlig, dercol)) Select
ActiveWindow.zoom = True

Cdlmnt
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7
Merci Via55, ça marche très bien.
j'ai rajouté un point devant Select.

Cordialement