IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Mise en forme d'un fichier avant impression


Sujet :

Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2010
    Messages : 57
    Points : 27
    Points
    27
    Par défaut Mise en forme d'un fichier avant impression
    Bonjour
    J'ai un tableau qui liste des événements
    Une fois que l’événement crée comporte une date de remise en service, l'incident est considéré comme clôturé.
    J'aimerais par une touche ou une formule, que l'apparence du tableau ne comporte plus que les incidents ouverts et masque ceux clôturés.
    Si vous me proposez une macro, expliquez moi svp comment la faire fonctionner.
    Je ne sais faire fonctionner les macros qu'avec un bouton crée et macro associée
    Merci
    Polo
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)
    Par défaut
    Pièce jointe 143449Pièce jointe 143449Bonjour,

    Le fichier joint .xlsm comporte deux boutons ActiveX permettant de masquer les événements terminés ou de les ré-afficher.

    Ces boutons déclenchent les macros AfficherTousLesEvenements ou MasquerLesEvenementsTermines présentes dans le module1 dont le code est le suivant :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Public DerniereLigneEvenement As Long
    Public ShEvenement As Worksheet
     
    Public AireEvenement As Range
    Public CelluleEvenement As Range
     
    Public ColMes As Long
    Public ColEvenement As Long
    Public LigneDeTitreEvenement As Long
     
    Sub AfficherTousLesEvenements()
     
         ActiveSheet.Rows.Hidden = False
     
    End Sub
     
    Sub MasquerLesEvenementsTermines()
     
        Set ShEvenement = Sheets("Feuil1")
        With ShEvenement
     
             ColMes = .Range("AireRemiseEnService").Column
             ColEvenement = .Range("AireDateEvenement").Column
             DerniereLigneEvenement = .Cells(.Rows.Count, ColEvenement).End(xlUp).Row
             LigneDeTitreEvenement = 2
     
             Set AireEvenement = .Range(.Cells(LigneDeTitreEvenement + 1, ColMes), .Cells(DerniereLigneEvenement, ColMes))
             For Each CelluleEvenement In AireEvenement
                 If CelluleEvenement <> "" And CelluleEvenement.Offset(0, ColEvenement - ColMes) <> "" Then
                    .Rows(CelluleEvenement.Row).EntireRow.Hidden = True
                 End If
             Next CelluleEvenement
             Set AireEvenement = Nothing
     
        End With
        Set ShEvenement = Nothing
     
    End Sub
    Par ailleurs, le module de la Feuil1 contient la macro événementielle Private Sub WorkSheet_Change(ByVal CelluleRemiseEnService As Range) qui permet de masquer la ligne si une date de fin d'événement est saisie dans la zone nommée AireRemiseEnService et si une date de début est présente dans la zone nommée AireDateEvenement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    Private Sub BoutonToutAfficher_Click()
       AfficherTousLesEvenements
    End Sub
     
     
    Private Sub BoutonMasquer_Click()
       MasquerLesEvenementsTermines
    End Sub
     
     
    Private Sub WorkSheet_Change(ByVal CelluleRemiseEnService As Range)
     
       If CelluleRemiseEnService.Count > 1 Then Exit Sub
     
       If Not Application.Intersect(CelluleRemiseEnService, Range("AireRemiseEnService")) Is Nothing Then
     
              ColMes = Range("AireRemiseEnService").Column
              ColEvenement = Range("AireDateEvenement").Column
     
              If CelluleRemiseEnService <> "" And CelluleRemiseEnService.Offset(0, ColEvenement - ColMes) <> "" Then
                        Rows(CelluleRemiseEnService.Row).EntireRow.Hidden = True
                        CelluleRemiseEnService.Offset(1, 0).Activate
              End If
       End If
     
     
    End Sub

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2010
    Messages : 57
    Points : 27
    Points
    27
    Par défaut Merci
    Merci Eric

    Je comprends pas ce qui est dans le code mais c'est ce que je voulais
    Petite question....
    Si je continue mon fichier après la ligne 18, cela fonctionnera t 'il quand même ou devra t'on à chaque fois changer le code?
    Merci

    Ps: si vous voulez je peux vous donner en privé le fichier original qui est différent de celui ci, mais qui comporte d'autres paramètres.

    Merci encore

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Désolé, vous êtes limité à 1 048 573 enregistrements.

    Cordialement.

Discussions similaires

  1. Réponses: 13
    Dernier message: 28/11/2011, 13h55
  2. Mise en forme d'un fichier excel
    Par douja dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/11/2007, 18h14
  3. [VBA] Mise en forme d'un fichier Excel depuis Access
    Par morgiane dans le forum Access
    Réponses: 2
    Dernier message: 25/07/2007, 10h32
  4. mise en forme d'un fichier.cmd
    Par poussin_44 dans le forum VB.NET
    Réponses: 1
    Dernier message: 18/07/2007, 17h23
  5. Cosmétique - mise en forme d'un fichier
    Par habasque dans le forum Langage
    Réponses: 5
    Dernier message: 31/10/2006, 18h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo