Imprimer une plage à partir d'un choix combobox

Résolu/Fermé
Utilisateur anonyme - 23 juin 2015 à 15:34
 Utilisateur anonyme - 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

3 réponses

via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
23 juin 2015 à 16:10
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
0
Utilisateur anonyme
23 juin 2015 à 17:03
Merci bien Via
Voila mon fichier exemple: http://www.cjoint.com/c/EFxpdmmwYro
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703 > Utilisateur anonyme
23 juin 2015 à 18:05
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
0
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
0
Utilisateur anonyme
23 juin 2015 à 19:48
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
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
23 juin 2015 à 22:28
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
0
Utilisateur anonyme
24 juin 2015 à 03:22
Merci infiniment Via
0