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 :

Find ou utilisation variable tableau ?


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    R&D laboratoire
    Inscrit en
    Janvier 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D laboratoire
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2008
    Messages : 83
    Par défaut Find ou utilisation variable tableau ?
    Bonjour,

    Est-il possible dans une variable tableau de chaîner deux informations string dans un tableau à 1 dimension (avec un séparateur), de filtrer sur la première information pour sortir une variable string correspondant à la deuxième information, laquelle est ensuite entrée dans une cellule?(voircode ci-dessous)

    OU faut-il entrer un tableau à 2 dimensions de taille fixe (mais beaucoup plus gros) pour filtrer ensuite sur la première dimension et récupérer l'info dans la deuxième?

    J'ai un fichier hétérogène (extrait ci-joint) dans lequel des codes barres sont mélangés dans une seule colonne qu'il s'agisse de groupes ou d'individus. Les groupes sont ou non développés en autant de lignes qu'il y a d'individus. Mon problème est de supprimer les lignes groupe excédentaires, tout en mémorisant le code barre groupe qui doit être dupliqué sur chaque ligne individus.

    Une autre possibilité serait de faire un find pour tester chaque ligne, mais çà me paraît lourd. Je ne suis malheureusement pas très à l'aise dans les manipulations de tableaux.
    Merci pour votre aide, Serge

    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
    'On rentre tous les plotid et le P barcode associé dans une variable tableau, on réinitialise i
    i = FirstRow
    For l = FirstRow To LastRow
      If (Trim(wsSpi.Cells(l, PltidCol)) <> "" And Trim(wsSpi.Cells(l, SubidCol)) = "") Then
        ReDim Preserve tblPBarcd(l - i)
        tblPBarcd(l - i) = wsSpi.Cells(l, PltidCol) & "-" & wsSpi.Cells(l, PBarcdCol)
      Else
        i = i + 1
      End If
    Next l
    'On teste chaque ligne pour détecter les lignes présentes alors qu'elles sont déjà détaillées en individus sur les autres lignes
    For l = LastRow To FirstRow Step -1
      If (Trim(wsSpi.Cells(l, PltidCol)) <> "" And Trim(wsSpi.Cells(l, SubidCol)) <> "" And Trim(wsSpi.Cells(l, PsstpCol)) = "Plant") Then
        wsSpi.Cells(l, SBarcdCol) = wsSpi.Cells(l, PBarcdCol).Value
        'wsSpi.Cells(l, PBarcdCol) = ""
        tblPBarcdFilter() = Filter(tblPBarcd(), wsSpi.Cells(l, PltidCol).Value, True, vbTextCompare)
        'c'est là que çà ne fonctionne plus
        StrPB = tblPBarcdFilter()
        StrPB = Right(StrPB, Len(StrPB) - InStr(1, StrPB, "-"))
        wsSpi.Cells(l, PBarcdCol) = StrPB
      Else
        tblPlotidFilter() = Filter(tblPlotid(), Cells(l, PltidCol))
        If UBound(tblPlotidFilter()) > -1 Then
            wsSpi.Rows(l).Delete
        End If
      End If
    Pour les groupes développés, je stocke le couple groupe- individus dans un tableau, que je filtre avec le groupe de chaque individu, si ce tableau a une valeur >-1 , la ligne a déjà été développée et est supprimée.
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/08/2012, 10h37
  2. [Toutes versions] Utilisation des clés de Dictionary dans une variable tableau
    Par pijaku dans le forum Contribuez
    Réponses: 1
    Dernier message: 22/02/2012, 22h05
  3. utiliser une variable tableau
    Par huître dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/06/2011, 10h21
  4. [XL-2003] Utiliser variable dans le nom d'un tableau
    Par christophe_fr dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/07/2009, 14h10
  5. Réponses: 4
    Dernier message: 28/11/2006, 09h50

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