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 :

Remplir un tableau de variables


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 68
    Par défaut Remplir un tableau de variables
    Bonjour

    je souhaite alimenter un tableau de variables à partir de données figurants sur un feuille excel. je souhaite faire figurer dans le tableau uniquement les données filtrées.

    voici mon code (il ne fonctionne pas):
    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
    Sub tableau()
     
    Dim tboall() As Variant
     
    l = 0
    For I = 2 To 20
    l = l + 1
    K = 0
    For J = 2 To 6
      If Cells(I, J).EntireRow.Hidden = False Then
        If J <> 3 Then
            K = K + 1
            tboall(l, K) = Cells(I, J)
        End If
      End If
    ReDim Preserve tboall(I)
    Next J
    Next I
     
    end sub

  2. #2
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Par défaut
    Bonjour à tous,
    Bonjour Gaston64

    Voici quelques remarques sur ton code :
    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
    Sub tableau_gaston64()  
     
    Dim tboall() As Variant
    Dim i As Integer, J As Integer, K As Integer, l As Integer
     
    l = 0
    For i = 2 To 20
    l = l + 1
    K = 0
    For J = 2 To 6
      If Cells(i, J).EntireRow.Hidden = False Then  'si la ligne "i" est cachée inutile de continuer => sortir du "For J"
        If J <> 3 Then  'cacher la colonne 3 => "C" avant de lancer la boucle "I" et supprimer ce "If"
            K = K + 1   'ce "K" ne peut pas être supérieur à 3 donc il faut le réinitialiser quand "J" = 7
            tboall(l, K) = Cells(i, J)  'tableau à 2 dim ? 'il faut redim le tableau avant cette ligne
        End If
      End If
    ReDim Preserve tboall(i)    'tableau à 1 dim ?
    Next J
    Next i
     
    End Sub
    Si j'ai bien compris, tu veux que, dans ton tableau, il y est les lignes visibles des colonnes "B", "D", "E" et "F".
    Je te propose ceci :
    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
    Option Explicit
    Sub tableau()
    Dim Plage As Range, nblignes As Integer, Cel As Range, Tablo(), nb As Integer, i As Integer
     
    ' on masque la colonne "C"
       Columns("C:C").EntireColumn.Hidden = True
       With Worksheets("Feuil1")    ' modifier le nom de la feuille
          Set Plage = .Range("B1", .Range("F65536").End(xlUp)).SpecialCells(xlCellTypeVisible)
       End With
       nblignes = Plage.Cells.Count ' on compte le nb de lignes de la plage
       ReDim Tablo(nblignes, 3)     ' on redim le tableau
       For Each Cel In Plage
            If i = 4 Then i = 0: nb = nb + 1
            Tablo(nb, i) = Cel
            i = i + 1
       Next Cel
     
    ' on affiche la colonne "C"
        Columns("C:C").EntireColumn.Hidden = False
     
    ' pour vérification, 
    ' attention il faut que la dernière ligne de la feuille ne soit pas cachée,
    ' si non à la place de "+3" mettre par exemple "+10", "+20", ou encore +
    Range("A" & Range("a65536").End(xlUp).Row + 3 & ":D" & nblignes) = Tablo
     
    End Sub
    Tu nous dis
    A+
    Eric

Discussions similaires

  1. [XL-2007] Remplir un tableau à partir de variables
    Par familledacp dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/05/2012, 13h21
  2. Remplir un tableau avec des variables
    Par Super_carotte dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 10/06/2010, 09h22
  3. [Tableaux] Remplir tableau avec variable
    Par nicerico dans le forum Langage
    Réponses: 1
    Dernier message: 09/07/2007, 15h35
  4. [PHP-JS] Remplir un tableau javascript selon un tableau php
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/01/2005, 14h02
  5. Fonction max d'un tableau de variables...
    Par Romalafrite dans le forum ASP
    Réponses: 7
    Dernier message: 20/07/2004, 10h38

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