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 :

transformer une plage à ligne variable en tableau


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2015
    Messages : 24
    Points : 20
    Points
    20
    Par défaut transformer une plage à ligne variable en tableau
    Bonjour à tous,

    J'ai actuellement une plage avec un nombre de lignes variable, et des colonnes fixes, allant de la colonne A à la colonne K.

    J'ai commencé à écrire le code en sélectionnant la plage que je souhaite transformer par la suite en tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     Sub MiseEnFormeDeTableau()
     
    ' MiseEnFormeDeTableau Macro
     
    x = "A:K"
     Intersect(Range(x), Range("1:1")).Resize(Range(x).Find("*", searchorder:=xlByRows, SearchDirection:=xlPrevious).Row).Select
     
        ActiveSheet.ListObjects.Add(xlSrcRange, Range(x), , xlYes).Name = _
            "Tableau1"
        Range("Tableau1[#All]").Select
        ActiveSheet.ListObjects("Tableau1").TableStyle = "TableStyleLight1"
     
        End Sub
    Mon problème est qu'avec ce code, ma plage est bien sélectionnée et transformer en tableau mais la mise en forme en tableau ne s'arrête pas à la dernière ligne.

    Je suppose qu'il faudrait rajouter une variable mais n'étant pas expert, je souhaiterais avoir votre aide pour finaliser ce code.

    En vous remerciant par avance!

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 141
    Points : 9 976
    Points
    9 976
    Billets dans le blog
    5
    Par défaut
    Bonjour

    voici un exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub MiseEnFormeDeTableau()
    Dim DerLig As Long
     
    With ActiveSheet
        DerLig = .Cells(.Cells.Rows.Count, 1).End(xlUp).Row
        .ListObjects.Add(xlSrcRange, .Range(.Cells(1, 1), .Cells(DerLig, 11)), , xlYes).Name = "Tableau1"
        .ListObjects("Tableau1").TableStyle = "TableStyleLight1"
    End With
     
    End Sub
    Ps: évite les ActiveSheet quand c'est possible, et utilise plutôt un Objet Worksheets pour désigner la feuille voulue

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2015
    Messages : 24
    Points : 20
    Points
    20
    Par défaut
    Merci beaucoup pour ton aide!

    Ca fonctionne parfaitement!

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

Discussions similaires

  1. recopier et transforme une plage en chaine txt
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/11/2007, 03h49
  2. Remplir une plage à partir d'un tableau
    Par roudy78 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/05/2007, 11h56
  3. [sans doute bete] transformer une chaine en variable.
    Par Vanish dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/02/2007, 18h12
  4. [FLASH MX2004] Transformer une simple ligne.
    Par -Sam- dans le forum Flash
    Réponses: 3
    Dernier message: 21/11/2006, 11h09
  5. Réponses: 1
    Dernier message: 09/10/2006, 18h04

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