IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Plusieurs fois Worksheet_SelectionChange pour Zoom sur Cellules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 96
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 1
    Par défaut Plusieurs fois Worksheet_SelectionChange pour Zoom sur Cellules
    Bonsoir à tous,

    Après de longues heures à chercher comment faire, je désespère et me retourne vers ce forum, qui dans le passé m'a beaucoup aidé.

    Voici le code de ma macro VBA que j'ai mis dans une feuille


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Address = "$I$3" Then Suppression_Menu_Secteurs
        If Target.Address = "$I$3" Then CacherAfficher
        If Target.Address = "$N$3" Then Suppression_Menu_Centres
        If Target.Address = "$N$3" Then CacherAfficher
        If Target.Address = "$R$3" Then CacherAfficher
        If Target.Address = "$G$3" Then [A1].Select
        If Target.Address = "$G$3" Then CacherAfficher
    End Sub
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$I$3:$L$3" Then
       ActiveWindow.Zoom = 100
    Else
       ActiveWindow.Zoom = 65
    End If
     
    If Target.Address = "$G$3" Then
       ActiveWindow.Zoom = 100
    Else
       ActiveWindow.Zoom = 65
    End If
    End Sub
    Pour faire simple :
    Quand je sélectionne la cellule G3, je zoom à 100% (dans cette cellule, j'ai une liste déroulante) et une fois le choix effectué, le zoom passe à 65%. En même temps, j'ai une Macro qui se lance automatiquement lorsque je modifie G3 ==> ça fonctionne.
    Ensuite, j'aimerai faire la même chose lorsque je sélectionne ma liste déroulante qui se trouve de la cellule I3 à L3. Et là, ça ne fonctionne pas. Instantanément, il zoom et dézoom.
    En tout, j'ai 4 plages de cellules sur lesquelles zoomer quand je les sélectionne (individuellement) et dézoomer ensuite.
    Par contre, quand je mets le code ci-dessous sur $I$3:$L$3 seul, ça fonctionne.
    Du coup, je tourne en rond.

    Quelqu'un peut m'aider ?

    Un grand merci à vous tous.

    Olivier

  2. #2
    Membre chevronné
    Homme Profil pro
    retraité enseignement
    Inscrit en
    Mars 2013
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : retraité enseignement
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 213
    Par défaut
    Citation Envoyé par oleev
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    If Target.Address = "$I$3:$L$3" Then
       ActiveWindow.Zoom = 100
    Else
       ActiveWindow.Zoom = 65
    End If
     
    If Target.Address = "$G$3" Then
       ActiveWindow.Zoom = 100
    Else
       ActiveWindow.Zoom = 65
    End If
    J'utiliserai plutôt "Select Case ..."

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Select Case Target.Address
    Case "$G$3"
       ActiveWindow.Zoom = 100
    Case "$I$3:$L$3"
       ActiveWindow.Zoom = 100
     
    Case Else
       ActiveWindow.Zoom = 65
    End Select
    bonsoir,
    geogeo70

Discussions similaires

  1. C# ScaleTransform pour zoom sur image
    Par sisi37 dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 01/09/2010, 13h39
  2. [CR 10] Imprimer plusieurs fois le même état sur une seule page
    Par Shell32 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 23/04/2010, 11h41
  3. placer curseur pour édit sur cellule d'un stringrid
    Par senv33 dans le forum Débuter
    Réponses: 20
    Dernier message: 01/03/2010, 11h40
  4. Réponses: 1
    Dernier message: 10/02/2009, 21h30
  5. pour ne pas répéter where plusieurs fois
    Par djouahra.karim1 dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/06/2005, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo