Conditionnelle sur une macro

Bonjour à toutes et tous,

Pour adapter un classeur, développé pour un écran 17‘’, aux écrans 15‘’, j’introduis dans chaque feuille :

Option Explicit

Private Sub Worksheet_Activate()

ActiveWindow.Zoom = 92

End Sub

Très bon résultat, mais ça me demande de copier et introduire ce code dans toutes les feuilles à chaque modification du classeur d’origine.

J’aimerais ne garder que le classeur original, et y introduire dans chaque feuille une conditionnelle de type :

If Sheets("Accueil").Range("D37") = VRAI Then

Option Explicit

Private Sub Worksheet_Activate()

ActiveWindow.Zoom = 92

End Sub

End If

Mais ça ne fonctionne pas.

Quelqu’un peut-il m’aider ?

Merci d’avance.

Théo de Cotoneuro

Bonjour

Vous supprimez votre code et placez celui ci-dessous dans THISWORKBOOK

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ActiveWindow.Zoom = 92
End Sub

Si ok et terminé, lors de votre réponse veillez à clôturer le fil en cliquant sur le V vert à coté du bouton EDITER

Cordialement

Merci Dan.

Dans ce cas le zoom 92% se fait automatiquement sur toutes les feuilles = ok

Mais la condition VRAI ne s'exerce pas.

Je voudrais placer, en feuille1, une case à cocher : "écran 15'' -> si cochée -> D36 de la feuille 1 = VRAI

Et alors seulement, le zoom se met à 92%, sinon il reste à 100 %

Encore merci pour l'aide.

Cordialement

Théo de Cotoneuro

Re

Vous pouvez essayer comme ceci

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim ws As Worksheet
For Each ws In Worksheets
    If Sheets("Accueil").Range("D37") = "VRAI" Then
        ActiveWindow.Zoom = 92
    Else: ActiveWindow.Zoom = 100
    End If
Next
End Sub

J'ai considéré que si D37 est en valeur FAUX, on remet tou à 100 %

Dans ce code la feuille Accueil est mise aussi à 92% ou 100%. Je suppose que c'est ce que vous voulez

Cordialement

Encore une fois 'merci', Dan

Mais ça ne fonctionne pas : les feuilles ne zooment pas.

Quel serait le code conditionnel à placer dans chaque feuille ?

Merci pour la patience...

Théo de Cotoneuro

re

Si pas de zoom il faut vérifier la condition IF

Quel est le nom de la feuille et ou se trouve le mot "VRAI" dans cette feuille

Le mieux serait de placer un fichier avec ce que vous avez exactement sur cette feuille 1

Encore une fois 'merci'

Voilà un fichier similaire avec la feuille 1 identique.

Je profite de votre savoir pour questionner : je voudrais que l'icône 'imprimante' de la feuille 2 remplisse la fonction de [Ctrl P]. Quelle code utiliser ? Merci aussi

re

Dans le code remplacez cette ligne -->

If Sheets("Accueil").Range("D37") = "VRAI" Then

Par

If UCase(Sheets("Accueil").Range("D37").Value) = "VRAI" Then

Pour l'impression, je suppose que la feuille est celle apellée "Echange" ?

D'une manière générale :

Sub imprime()
ActiveSheet.PrintOut
End Sub

Cordialement

SUPER ! CA Y EST !!! MERCI ! MECI ! MERCI !

Idem pour l'impression.

Théo de Cotoneuro

Rechercher des sujets similaires à "conditionnelle macro"