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 :

Imprimer les Colones au Choix


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 175
    Par défaut Imprimer les Colones au Choix
    Bonjour A tous ,

    je veux seulement savoir si c'est possible avec VBA de donner a l'utilsateur de choisir les Colonne qui veux imprimer , en les concaténant , par exemple si un tableu contien 5 colones dans l'ordre suivant:
    -Nom
    -Prenom
    -Adresse
    -situation familiale
    -ISF

    l'utilisateur aura le choix d'imprimer seulement Les lignes des colonnes Nom Adresse, dans cet ordre : Nom Adresse , les autres colonnes n'aiparaisse pas dans l'état Imprimé

    Comme moi je veux utiliser un formulaire qui propose a l'utilisateur d'ajouter les colones qui veux , je ne sais pas a ce que en VBA on peut le faire

    car on peut faire une chose similaire sur EXcel dans la mise en page :
    mais il y'a deux soucis :
    1- l'utilisatuer doit aprendre a taper quelques comandes .
    2- si on choisie par exemple la colone A et la colone C , elle seront pas concaténés a l'impression , et ce la c'est mon Vrais problème c'est pour ca que je veux paser par le VBA.

    Merci a tous ceux qui pouvent m'aidée de me pister vers la bonne piste

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu peux effectivement imprimer les colonnes que tu veux en masquant les colonnes que tu ne souhaites pas imprimer.
    Un problème avec ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         Columns(i).EntireColumn.Hidden = True
    Tu dis
    A+

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Pour faire vite, je verrais assez un truc comme ça :
    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
        Set Plage = Application.InputBox("Sélectionner les colonnes à imprimer, " & vbCr & "maintenir la touche Ctrl pour sélectionner des plages séparées", Type:=8)
        liste = ";"
        For Each Col In Plage
            If InStr(liste, ";" & Col.Column & ";") = 0 Then
                liste = liste & Col.Column & ";"
            End If
        Next
        NbreColonne = Range("IV1").End(xlToLeft).Column
     
        For i = 1 To NbreColonne
            If InStr(liste, ";" & i & ";") = 0 Then
                Columns(i).EntireColumn.Hidden = True
            End If
        Next
        'Edition
        'Cells.EntireColumn.Hidden = False 'mis en remarque pour tester
    A+

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 175
    Par défaut
    J'ai testé la amcro , et j'ai un message d'erreur (Incompatibilité de Type)

    juste aprés la selection des colones

    la variable plage est de quel Type ?

    je ne comprend pas que ce qu'elle fait

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Deux choses, donc
    Tu déclares liste comment ? C'est un string
    A quoi sert ";" ? A séparer les données.
    Imagine que la colonne 1, 3 et 5 soient sélectionnée, si tu as 23 colonnes dans ta base, tu vas imprimer 1, 10, 11, 12,... à 19, ainsi que les colonnes 3, 5, 13, 15, 23 et 25... Ehcépaçketuvoeu
    Si tu sépares par un ; (qui doit être placé avant et après le N° de colonne, tu as
    ;1;3;5;
    là tu es certain, si tu dis ";1;", de ne pas avoir les 10, 11 deux fois, 12... etc.
    Pour l'erreur, je n'ai pas compris, précise
    A+

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 175
    Par défaut
    j'ai déclaré liste com string , et le bogue est toujour la et le message d'erreur que je recois ar l"editeur et le même:

    Erreur d'éxécution "13"

    Incompatibilité de Type

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 175
    Par défaut S.o.s
    Bonjour a tous

    j'été un peut malade ces dérniers jours, et j'ai pas pu travailé sur mon application , j'ai essayé d'adapté les code source que ouskel'n'or ma donnés concernant les colonnes masquées et le choix des champs a imprimes.

    car je doit en prémier temps si j'ai bien compris de récuperer sous un objet de type Range la référence des champs de la listBox2 qui contient les champs choisis par l'utilisateur, et je suis bloqué car je ne sais pas le faire , et peut être c'est pas ce qu'il faut faire

    Merci de votre aide

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Comme j'avait toujours ton fichier...
    Place ça dans la feuille de code de l'userform après avoir supprimé tout ce qu'il y avait
    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
    39
    40
    41
    42
    43
    44
    45
    46
    Dim FL1 As Worksheet
     
    Private Sub CommandButton1_Click()
    If ListBox1.ListIndex = 0 Then Exit Sub
    Me.ListBox2.AddItem Me.ListBox1.List(Me.ListBox1.ListIndex)
    End Sub
     
    Private Sub CommandButton2_Click()
    Me.ListBox2.List = Me.ListBox1.List
    End Sub
     
    Private Sub CommandButton3_Click()
    If Me.ListBox2.ListIndex = -1 Then Exit Sub
    Me.ListBox2.RemoveItem Me.ListBox2.ListIndex
    End Sub
     
    Private Sub CommandButton4_Click()
    Me.ListBox2.Clear
    End Sub
     
    Private Sub CommandButton5_Click()
    Dim Liste, i, NbreColonne
    FL1.Cells.EntireColumn.Hidden = False 'mis en remarque pour tester
    Liste = ";"
    For i = 0 To Me.ListBox2.ListCount - 1
        Liste = Liste & Me.ListBox2.List(i) & ";"
    Next
    NbreColonne = Range("IV1").End(xlToLeft).Column
        For i = 1 To NbreColonne
            If InStr(Liste, ";" & FL1.Cells(1, i) & ";") = 0 Then
                FL1.Columns(i).EntireColumn.Hidden = True
            End If
        Next
        FL1.Printout
    End Sub
     
    Private Sub UserForm_Activate()
    Set FL1 = Worksheets("FichierCentrale")
    Dim NoCol
    NoCol = 1
    Do
        Me.ListBox1.AddItem FL1.Cells(1, NoCol).Value
        NoCol = NoCol + 1
    Loop While FL1.Cells(1, NoCol).Value <> ""
     
    End Sub
    Tu dis

    PS - Là, j'ai fait ton boulot, alors essaie au moins de comprendre ce que j'ai fait.

Discussions similaires

  1. Aucune distance entre les colones d'un tableau
    Par FrankOVD dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/06/2005, 12h05
  2. Réponses: 3
    Dernier message: 14/03/2005, 19h02
  3. Comment imprimer les FAQ
    Par tran dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 1
    Dernier message: 22/02/2005, 19h15
  4. imprimer les exception
    Par deeal dans le forum Général Python
    Réponses: 2
    Dernier message: 05/01/2005, 16h16
  5. imprimer les bgcolor
    Par C.M dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 16/12/2004, 14h34

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