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 :

Problème avec ListObject active/non active


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
    Mai 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Par défaut Problème avec ListObject active/non active
    Bonjour à tous, j'ai un petit soucis avec mon programme, il fonctionne mais pas correctement, si quelqu'un peut m'éclairer!!!!

    j'ai créer un liste (Données/Liste/créer une liste), et j'ai également creer un Userform, avec un textbox et un commandButton, jusqu'ici tout va bien, je suis même parvenu grâce à de l'aide de ce forum à introduire les données que je saisi dans le textbox dans la liste...

    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
    Private Sub CommandButton1_Click()
     
    Dim n1 As Long  'première ligne de la liste
    Dim n2 As Long  'dernière ligne de la plage
    Dim c1 As Long  'première colonne de la liste
     
    Const NB_COLONNES As Long = 4   'Nombre de colonnes
     
    Dim rng As Range                'première cellule vide sous la liste
     
    Worksheets("Feuil1").Select     'aller sur la feuille Feuil1
     
    'récupérer les 3 valeurs inconnues de positionnement de la liste
    n1 = ActiveSheet.ListObjects("Liste1").Range.Range("A1").Row
    n2 = ActiveSheet.ListObjects("Liste1").Range.Rows.Count
    c1 = ActiveSheet.ListObjects("Liste1").Range.Range("A1").Column
     
    'définition de la cellule vide
    Set rng = Cells(n2 - n1 + 2, c1)
     
    'remplir la ligne
     With rng
         .value = "111"
         .Offset(0, 1).value = "eee"
         .Offset(0, 2).value = "eee"
         .Offset(0, 3).value = "eee"
     End With
     
    'redimensionner la liste
    ActiveSheet.ListObjects("Liste1").Resize Range(Cells(n1, c1), Cells(n2 - n1 + 2, NB_COLONNES - c1 + 1))
     
    End Sub
    mon problème est le suivant, lorsque je valide à l'aide de commandButton, les données s'intruisent bien dans la liste, mais si ma liste est active (cellule active dans la liste) et bien sa va sauter des lignes entre chaques lignes à chaques fois, alors que si j'active une cellule de la feuille et non plus de la liste et bien c'est parfait les données s'introduisent correctement à la ligne sans sauter de lignes cette fois....!!!!
    j'aimerai que ce soit pareil avec ou sans liste active!!!
    autrement dit que je n'ai pas à me préoccuper de savoir si ma liste est active ou pas pour y introduire des données...

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    Quelle version d'Excel utilises tu?
    Je ne réussis pas à reproduire ton problème.

    Voici une macro Excel2007 pour ajouter une ligne à la suite, dans une table "Liste1".


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim ListObj As ListObject
    Dim i As Integer
     
    Set ListObj = ActiveSheet.ListObjects("Liste1")
    ListObj.ListRows.Add
     
    For i = 1 To 4
        ListObj.Range(ListObj.ListRows.Count + 1, i) = "info" & i
    Next i


    michel

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Par défaut
    Merci beaucoup silkyroad

    c'est exactement ce que je cherchais

    par hasard tu ne serai pas comment changer le caractère de police, de info?
    Car celui-ci recopie la police du titre de la liste(autrement dit le titre de la colonne)
    que faudrait-il ajouter dans le code???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        ListObj.Range(ListObj.ListRows.Count + 1, i) = "info" & i

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonsoir


    par hasard tu ne serai pas comment changer le caractère de police, de info?
    Car celui-ci recopie la police du titre de la liste(autrement dit le titre de la colonne)
    que faudrait-il ajouter dans le code???
    Un exemple pour changer le type et la taille de la police:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 1 To 4
        With ListObj.Range(ListObj.ListRows.Count + 1, i)
            .Value = "info" & i
            .Font.Name = "Comic sans MS"
            .Font.Size = 8
        End With
    Next i


    michel

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/06/2008, 10h09
  2. [AJAX] IE et non avec FF
    Par brazilia28 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/08/2007, 12h53
  3. problème avec un package non reconnu
    Par youp_db dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 27/09/2006, 09h37
  4. Réponses: 1
    Dernier message: 17/09/2006, 16h31
  5. Problème avec des composants non déclarés
    Par vbcasimir dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/01/2005, 11h17

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