Imprimer une plage à partir d'un choix combobox [Résolu/Fermé]

Messages postés
159
Date d'inscription
mercredi 26 janvier 2011
Statut
Membre
Dernière intervention
31 août 2019
- - Dernière réponse : delta70
Messages postés
159
Date d'inscription
mercredi 26 janvier 2011
Statut
Membre
Dernière intervention
31 août 2019
- 24 juin 2015 à 03:22
bonjour,
Sur un fichier XL2013 avec 12 onglets,
8 onglets ont 7 plages déférentes à imprimer (dans chacune de ces onglets il y a 7 plages)
comment faire par macro pour imposer l'impression à une de ces plages (onglet actif) à partir d'un choix dans un ComboBox dans un UserForm
Merci d'avance
cordialement
Afficher la suite 

3 réponses

Messages postés
11130
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
21 septembre 2019
1432
0
Merci
Bonjour

Comment se présentent ces plages , les unes à côté des autres ? les unes en dessous des autres ?
Un exemple de ton fichier est nécessaire si tu veux obtenir une aide
A poster sur cjoint.com, faire créer le lien et revenir ici indiquer le lien fourni

Cdlmnt
Via
delta70
Messages postés
159
Date d'inscription
mercredi 26 janvier 2011
Statut
Membre
Dernière intervention
31 août 2019
-
Merci bien Via
Voila mon fichier exemple: http://www.cjoint.com/c/EFxpdmmwYro
via55
Messages postés
11130
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
21 septembre 2019
1432 > delta70
Messages postés
159
Date d'inscription
mercredi 26 janvier 2011
Statut
Membre
Dernière intervention
31 août 2019
-
Re

J'ai une erreur macro à l'ouverture du classeur
Ensuite tes feuilles étant protégées par mot de passe je ne peux y accéder

Néanmoins il faut définir chaque zone d'impression en fonction du choix
Macro à affecter au bouton Imprimer de l'userform
Select case ComboBox1.value
Case "Résultats des contrôles du 1er trimestre"
ActiveSheet.PageSetup.PrintArea = "$A$2:$T$63"
Case etc (autant que de choix possibles) avec indication de la plage adéquate
.....
End select

Cdlmnt
Via
delta70
Messages postés
159
Date d'inscription
mercredi 26 janvier 2011
Statut
Membre
Dernière intervention
31 août 2019
-
J'ai oublié de vous éclaircir une chose, c'est Les noms des plages d'impression :
Résultats du 1er trimestre= Playa1 : =!$A$2:$U$60
Résultats du 2e trimestre= Playa2 : =!$A$64:$U$122
Résultats du 3e trimestre= Playa3 := !$A$126:$U$184
Resultat des 3 trimestres=Ma plage : =!$A$188:$U$246
Résultats des contrôles du 1er trimestre= Ma plage 1 : =!$W$2:$AJ$60
Résultats des contrôles du 2e trimestre=Ma plage2 : =!$W$64:$AJ$122
Résultats des contrôles du 3e trimestre=Ma plage3 : =!$W$126:$AJ$184
Messages postés
159
Date d'inscription
mercredi 26 janvier 2011
Statut
Membre
Dernière intervention
31 août 2019
0
Merci
Bonjour,
Merci Via
Voici mon fichier exemple déprotégé: http://www.cjoint.com/c/EFxrNsS1VDL
et les noms des plages à imprimer:
Résultats du 1er trimestre= Playa1 : =!$A$2:$U$60
Résultats du 2e trimestre= Playa2 : =!$A$64:$U$122
Résultats du 3e trimestre= Playa3 := !$A$126:$U$184
Résultat des 3 trimestres=Ma plage : =!$A$188:$U$246
Résultats des contrôles du 1er trimestre= Ma plage 1 : =!$W$2:$AJ$60
Résultats des contrôles du 2e trimestre=Ma plage2 : =!$W$64:$AJ$122
Résultats des contrôles du 3e trimestre=Ma plage3 : =!$W$126:$AJ$184
Merci
Cordialement
Messages postés
11130
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
21 septembre 2019
1432
0
Merci
Re

Tu ne peux pas passer par des plages nommées car elles ne seront valables que pour une feuille
Les plages doivent être indiquées dans la macro
macro à associer au bouton Imprimer de l'userform
Private Sub CommandButton1_Click()
Select Case ComboBox1.Value
Case "Résultats des contrôles du 1er trimestre"
ActiveSheet.PageSetup.PrintArea = "$A$2:$U$60"
Case "Résultats des contrôles du 2e trimestre"
ActiveSheet.PageSetup.PrintArea = "$A$64:$U$122"
Case "Résultats des contrôles du 3e trimestre"
ActiveSheet.PageSetup.PrintArea = "A$126:$U$184"
Case "Résultats du 1er trimestre"
ActiveSheet.PageSetup.PrintArea = "$W$2:$AJ$60"
Case "Résultats du 2e trimestre"
ActiveSheet.PageSetup.PrintArea = "$W$64:$AJ$122"
Case "Résultats du 3e trimestre"
ActiveSheet.PageSetup.PrintArea = "$W$126:$AJ$184"
Case "Résultats des 3 trimestres"
ActiveSheet.PageSetup.PrintArea = "$A$188:$U$246"
End Select
 ActiveWindow.SelectedSheets.PrintOut copies:=1
End Sub


A tester pour toutes les configurations

Cdlmnt
Via
delta70
Messages postés
159
Date d'inscription
mercredi 26 janvier 2011
Statut
Membre
Dernière intervention
31 août 2019
-
Merci infiniment Via