Augmenter zoom

Fermé
fahd22 Messages postés 14 Date d'inscription vendredi 12 août 2016 Statut Membre Dernière intervention 23 septembre 2016 - 12 août 2016 à 14:04
fahd22 Messages postés 14 Date d'inscription vendredi 12 août 2016 Statut Membre Dernière intervention 23 septembre 2016 - 12 août 2016 à 17:54
Bonjour à tous,

Etant novice en macro vba j'aimerais savoir comment je pourrais avoir 100% de zoom de ma feuille automatiquement quand une des cellules est active sur les plages : H3 à H65000, V3 à V65000 et X3 à X65000
Je vous remercie de votre réponse.
A voir également:

2 réponses

Ant049 Messages postés 154 Date d'inscription jeudi 4 août 2016 Statut Membre Dernière intervention 9 septembre 2016 22
12 août 2016 à 14:36
Bonjour à toi,

Pour gérer le zoom d'une page (par exemple la 1ère) :
ActiveWorkbook.Worksheets(1).Activate
ActiveWindow.Zoom = 100


Ensuite tu inclus cela dans une fonction SI qui détermine si ta cellule active est présente dans tes 3 plages en utilisant la position en ligne et colonne de ta cellule active :
ActiveCell.row & ActiveCell.col


De ce fait, tu peux essayer cela :

If (ActiveCell.row >= 3 & ActiveCell.row <= 65000) & (ActiveCell.col = 8 Or ActiveCell.col = 22 or ActiveCell.col = 24) Then

ActiveWindow.Zoom = 100

End if


1
fahd22 Messages postés 14 Date d'inscription vendredi 12 août 2016 Statut Membre Dernière intervention 23 septembre 2016
12 août 2016 à 16:35
Merci de ta réponse. Le code est bon je pense problème y a erreur de compilation sur le THEN je ne sais pas pourquoi.
0
jordane45 Messages postés 38316 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 novembre 2024 4 705
Modifié par jordane45 le 12/08/2016 à 16:40
Bonjour,

En complément de cette réponse ....
Tu peux placer ce code dans la méthode Worksheet_SelectionChange
https://docs.microsoft.com/fr-fr/office/vba/api/excel.worksheet.selectionchange?redirectedfrom=MSDN

Un truc du genre :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
  If (Target.row >= 3 AND Target.row <= 65000) AND (Target.column = 8 Or Target.column = 22 or Target.Column = 24) Then
    With ActiveWindow 
       .Zoom = 100 
    End With 
  End If
End Sub


edit correction du code : Column et non Col
1
fahd22 Messages postés 14 Date d'inscription vendredi 12 août 2016 Statut Membre Dernière intervention 23 septembre 2016
12 août 2016 à 16:39
Merci Jordane. Le code me sort une erreur "' Nom ambiguë détecté Worksheet_SelectionChange "
0
jordane45 Messages postés 38316 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 novembre 2024 4 705 > fahd22 Messages postés 14 Date d'inscription vendredi 12 août 2016 Statut Membre Dernière intervention 23 septembre 2016
12 août 2016 à 16:42
A quel endroit as tu placé ce code ?
N'aurais tu pas une autre macro du même nom ? (parfois ça arrive lorsqu'on copie/colle au lieu d'utiliser le menu prévu à cet effet par le visual basic editor .....)
0
jordane45 Messages postés 38316 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 novembre 2024 4 705
12 août 2016 à 16:40
Il avait fait une petite erreur (ou deux.... )
il faut utiliser AND et non &
Il faut écrire : Column et non Col
0
fahd22 Messages postés 14 Date d'inscription vendredi 12 août 2016 Statut Membre Dernière intervention 23 septembre 2016
12 août 2016 à 17:54
Oui effectivement c'était ça l'erreur.
pour ton code, si je mets un autre non pour ma macro, j'aurai 2 Sub : est ce normal car il m'affiche une erreur sur ça justement. Merci pout on aide.
0