Imprimer une plage à partir d'un choix combobox

Résolu
Utilisateur anonyme -  
 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

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    1. Utilisateur anonyme
       
      Merci bien Via
      Voila mon fichier exemple: http://www.cjoint.com/c/EFxpdmmwYro
      0
      1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > 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
        0
    2. Utilisateur anonyme
       
      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
  2. Utilisateur anonyme
     
    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
  3. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    1. Utilisateur anonyme
       
      Merci infiniment Via
      0