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

Macros et VBA Excel Discussion :

Macro pour tracer les bordures de cellules d'une liste de ligne variables ? puis impression


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Administratif
    Inscrit en
    Décembre 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administratif

    Informations forums :
    Inscription : Décembre 2018
    Messages : 47
    Par défaut Macro pour tracer les bordures de cellules d'une liste de ligne variables ? puis impression
    Bonjour, pour automatiser un tableau en fin de journée et réaliser une impression, j’ai fait un enregistrement de macro sur EXCEL,
    Mais j’ai besoin de faire sélectionner un nombre variable de ligne.

    La macro que j’ai faite avec la manip « CTRL+A » ne fonctionne pas pour le nombre de lignes quotidien (aléatoire) mais uniquement le nombre de ligne du jour de création de la macro.

    Donc j'ai parfois un tableau avec trop de lignes tracées
    Parfois, pas assez


    Comment faire pour avoir toutes les lignes avec écriture avec des bordures tracées
    et définir la zone pour l'impression ?


    Merci d’avance.



    Fichier joint
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonsoir
    tu veux toujours imprimer jusqu'à la dernière ligne non vide ou bien ou choix??
    si c'est au choix à saisir dans un imputbox essyez avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub ZoneAimprimer()
    Dim VALEUR1 As Range, VALEUR2 As String
    L1 = Application.InputBox("La cellule départ de l'impression est A ??? : ", "BIENVENUE", , , , , , 1)
    L2 = Application.InputBox("La cellule fin de l'impression est E : ", "BIENVENUE", , , , , , 1)
    ActiveSheet.PageSetup.PrintArea = ("A" & L1 & ":E" & L2)
        ActiveSheet.PrintOut
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Administratif
    Inscrit en
    Décembre 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administratif

    Informations forums :
    Inscription : Décembre 2018
    Messages : 47
    Par défaut
    Je souhaite 2 choses :
    * Sélectionner de la 1ère ligne avec données jusqu'à la dernière pour y tracer les bordures des cellules.
    * Imprimer le document (toujours avec cette même zone à selectionner)


    Pour faire simple, je veux savoir comment repérer une plage de données pour y faire une mise en forme des cellules.


    Merci

  4. #4
    Membre averti
    Homme Profil pro
    Administratif
    Inscrit en
    Décembre 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administratif

    Informations forums :
    Inscription : Décembre 2018
    Messages : 47
    Par défaut
    Citation Envoyé par BENNASR Voir le message
    bonsoir
    [/CODE]
    cf ci dessus, merci

  5. #5
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    re
    pour imprimer de A1 à la dernière cellule non vide de la colonne E il suffit de déterminer la dernière ligne puis imprimer
    Pour la mise en forme faire une règle de mise en forme conditionnel pour chaque cellule non vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub ZoneAimprimer()
    Dim derligne As Long
    derligne = Range("A" & Rows.Count).End(xlUp).Row 'permet de détecter la dernière cellule non vide de la colonne A
    ActiveSheet.PageSetup.PrintArea = ("A1:E" & derligne)
        ActiveSheet.PrintOut
    End Sub
    Fichiers attachés Fichiers attachés

  6. #6
    Membre averti
    Homme Profil pro
    Administratif
    Inscrit en
    Décembre 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administratif

    Informations forums :
    Inscription : Décembre 2018
    Messages : 47
    Par défaut
    Ca marche pour l'impression,

    Mais j'aurais besoin de la formule pour tracer les bordures. Vous pourriez me l'écrire ? Merci

  7. #7
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    La mise en forme conditionnelle
    onglet accueil / mise en forme conditionnelle / nouvelle regle / selon valeur
    y a beaucoup de tuto et video dans ce sens
    voila votre fichier exemple et si une cellule est remplie il sera avec bordure automatiquement
    Fichiers attachés Fichiers attachés

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    et si tes ligne sont remplies jusqua la ligne 500 tu veux l'imprimer sur une page????
    soyons serieux c'est une tres mauvaise idée d'utiliser le (endxlup) pour le print area
    plus tu met de données plus c'est petit
    ou alors oui mais placer des saut de pages tout les 35 lignes a peu pres ,imprimé a zoom 100% la taille sera raisonnable
    voir (HPageBreaks)
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  9. #9
    Membre averti
    Homme Profil pro
    Administratif
    Inscrit en
    Décembre 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administratif

    Informations forums :
    Inscription : Décembre 2018
    Messages : 47
    Par défaut
    Non, mon idée est d'imprimer sur autant de page que nécessaire, mais mon problème est de savoir comment bien mettre les bordures aux bonnes lignes uniquement.
    Avant je pensais mettre un grand nombre de cellules avec bordures et faire un repérage pour sélectionner la zone d'impression.

  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    c'est simple
    tu met un saut de page tout les 35 ligne et em meme temps sur cette ligne tu met la bordure horizontale
    si tu a mis les bordure tout autour au depar tu aura dans chaque pages ton tableau encadré de bordure
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  11. #11
    Membre averti
    Homme Profil pro
    Administratif
    Inscrit en
    Décembre 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administratif

    Informations forums :
    Inscription : Décembre 2018
    Messages : 47
    Par défaut
    Citation Envoyé par BENNASR Voir le message
    La mise en forme conditionnelle
    onglet accueil / mise en forme conditionnelle / nouvelle regle / selon valeur
    y a beaucoup de tuto et video dans ce sens
    voila votre fichier exemple et si une cellule est remplie il sera avec bordure automatiquement
    J'ai réenregistré une macro en faisant une mise en forme conditionnelle (que je savais faire)
    mais elle n'a pas été mémorisée...

  12. #12
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    essayer avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub ZoneAimprimer()
    Dim derligne As Long
    derligne = Range("A" & Rows.Count).End(xlUp).Row
     
    Dim r As Range
      With ActiveSheet 'ou autre
        Set r = Intersect(.UsedRange.EntireRow, .Columns("A:E"))
        r.Borders.LineStyle = xlContinuous
        r.Borders.Weight = xlThin
      End With
     
    ActiveSheet.PageSetup.PrintArea = ("A1:E" & derligne)
    ActiveSheet.PrintOut
    End Sub

  13. #13
    Membre averti
    Homme Profil pro
    Administratif
    Inscrit en
    Décembre 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administratif

    Informations forums :
    Inscription : Décembre 2018
    Messages : 47
    Par défaut
    Je vais reformuler pour mieux me faire comprendre. J'ai 2 documents à faire chaque jour.


    J'aimerais pouvoir tracer les bordures de toutes les lignes jusqu'à la dernière (avec saisie en colonne A)
    Mais pour un des 2, j'ai une colonne vide (tout à droite) donc la mise en page conditionnelle ne fonctionne pas [cette colonne me sert à rempir manuellement le lendemain.]

    Que faire pour "repérer" une zone variable pour laquelle faire des bordures tracées (intérieures et extérieures)


    Merci

  14. #14
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Pour faire des bordure même pour la colonne F qui est vide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub ZoneAimprimer()
    Dim derligne As Long
    derligne = Range("A" & Rows.Count).End(xlUp).Row
     
    Dim r As Range
      With ActiveSheet 'ou autre
        Set r = Range(Cells(1, 1), Cells(derligne, "F"))
        r.Borders.LineStyle = xlContinuous
        r.Borders.Weight = xlThin
      End With
     
    ActiveSheet.PageSetup.PrintArea = ("A1:F" & derligne)
    ActiveSheet.PrintOut
    End Sub

  15. #15
    Membre averti
    Homme Profil pro
    Administratif
    Inscrit en
    Décembre 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administratif

    Informations forums :
    Inscription : Décembre 2018
    Messages : 47
    Par défaut
    Peux tu m'ajouter à cette version la modif pour lancer l'impression en couleur , car ma structure a paramétré les impressions en N&B par défaut.

    Merci beaucoup

  16. #16
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With ActiveSheet.PageSetup
            .PrintArea = ("A1:E" & derligne)
            .BlackAndWhite = False
    End With
    ActiveSheet.PrintOut
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  17. #17
    Membre averti
    Homme Profil pro
    Administratif
    Inscrit en
    Décembre 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administratif

    Informations forums :
    Inscription : Décembre 2018
    Messages : 47
    Par défaut
    Merci, je vais tester ça demain matin !
    Je poste une autre demande sur un poste différent ! J'espère que tu pourras m'aider aussi !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Macro pour relier les données des cellules des différentes feuilles
    Par Chengaou dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/04/2018, 09h27
  2. [2013] Macro pour modifier la valeur des cellules d'une table excel
    Par ch_minds dans le forum Microsoft Office
    Réponses: 3
    Dernier message: 30/12/2017, 20h41
  3. Réponses: 3
    Dernier message: 07/08/2017, 09h38
  4. [XL-2007] Macro pour masquer les colonnes avec cellules vides
    Par Cirrus22 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/12/2009, 19h50
  5. Macro pour ajouter les bordures au fur et a mesure
    Par Raiga dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/06/2007, 08h21

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