Zoom automatique

Résolu
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

  • Votes
  • Date
  • Date décroissante
  1. 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
    1. 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
      1. 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
        1. ç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
          1. 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
            1. 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
            2. @mijean94Non 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
          2. Merci Via55, ça marche très bien.
            j'ai rajouté un point devant Select.

            Cordialement