Imprimer une plage à partir d'un choix combobox

[Résolu/Fermé]
Signaler
-
 Utilisateur anonyme -
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

3 réponses

Messages postés
13114
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
14 octobre 2021
2 263
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
Utilisateur anonyme
Merci bien Via
Voila mon fichier exemple: http://www.cjoint.com/c/EFxpdmmwYro
Messages postés
13114
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
14 octobre 2021
2 263 > Utilisateur anonyme
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
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

Bonjour,
Merci Via
Voici mon fichier exemple déprotégé: https://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
13114
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
14 octobre 2021
2 263
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
Utilisateur anonyme
Merci infiniment Via