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 :

VBA tableau dynamique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    commis de bureau
    Inscrit en
    Juin 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : commis de bureau

    Informations forums :
    Inscription : Juin 2013
    Messages : 31
    Par défaut VBA tableau dynamique
    Bonjour,

    dans mon programme que je dois faire je dois faire quelque chose de dynamique , j'ai essayer statique ca marche mais le problème si j’insère des données dans un tableau excel la recherche ne fonctionne plus alors je doit utiliser un tableau dynamique.

    Mise en contexte : J'ai deux fichier A et B

    J'ouvre le fichier A manuellement, dans le premier temps quand j'exécute un bouton le fichier B s'ouvre ( ce passage j'ai réussi).
    Le fichier B est actif. Ensuite le même bouton fait une recherche dans la colonne J chaque numéro de réquisition doit être entre dans un tableaux dynamique ( partie que j'ai a moitié réussi) Il doit supprimer les ligne vides ( ce qui me manque) et de transformer les numéros qui sont en string en double ou avec la fonction split ( que je ne sais pas comment utiliser aussi)

    par exemple

    Col J
    numéro:
    7080
    5056
    5835 , 4909 ( transformer pour que sa sois 2 numéro indépendant mais qui ont la même fonction)

    Une fois la colonne analyser je dois retourner dans le fichier A lire la colone D qui sont aussi les numéros de réquisition. Exemple :

    COL D col E

    3452 | 40$
    5056 | 20$
    5056 | 10 $

    le programme prend les numéros et additionne le prix si le numéro est répété comme le cas du 5056 il additionne le cout.

    Finalement je dois retourner dans la feuille B pour inscrire le total à coter de la colonne J.

    Voici ce que j'ai fais en statique pour donner une idée ( PS Je ne peux pas montrer les vrais fichier excel car c'est des fichiers confidentiel je peux montrer seulement la partie programmation).

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    Sub Bouton108_Clic()
     
        '_____variable__________
        Dim budjet2 As Double
        Dim budjet As Double
        Dim b As Double ' variable pour la boucle
        Dim z2 As Double
        Dim a2 As Double
        Dim y As Double
        Dim y2 As Double
        Dim a As Double
        Dim z As Double
        Dim tab_ex(200, 0) ' tableau dynamique
        'Ouverture de l'application
     
        Dim wb As Workbook
        Dim ws As Worksheet
        Set wb = Workbooks.Open("LIEN OMISE PARTIE CONFIDENTIEL /lpl.xls")
        Set ws = wb.Worksheets(1)
        Windows("Copie de Réquisitionsv3dyn.xlsm").Activate 'activer réquisition
     
     
     
     
     '___________________TEST TABLEAUX DYNAMIQUE_____________________'
     Windows("Copie de 2013-Budget B&S-GB pour lpl.xls").Activate ' retourner budget
     For i = 0 To 175
         tab_ex(i, 0) = Range("J" & i + 10)
         seek tab_ex (" ") as
     
          End If
    Next
     
     '_____________PARTIE STATIQUE__________
     
        '________22523___________
     Windows(" lpl.xls").Activate ' retourner budget
        Range("J66").Select
        budjet = ActiveCell.Value
        Windows("Copie de Réquisitionsv3dyn.xlsm").Activate ' retour dans requisition
        Range("A1").Select
        ActiveCell.Value = a
     
           '________22001___________
     Windows("r lpl.xls").Activate ' retourner budget
        Range("J11").Select
        budjet2 = ActiveCell.Value
        Windows("Copie de Réquisitionsv3dyn.xlsm").Activate ' retour dans requisition
        Range("A1").Select
        ActiveCell.Value = a2
     
        '_____ boucle de recherche_____
        For b = 0 To 1000
     
        '________22523___________
     
            Range("F10").Select
            ActiveCell.Offset(b, 0).Select
     
            If ActiveCell.Value = budjet Then
     
                z = ActiveCell.Offset(0, 1).Value
                a = a + z
     
            End If
          '________22031___________
     
            Range("F10").Select
            ActiveCell.Offset(b, 0).Select
     
            If ActiveCell.Value = budjet Then
     
                z = ActiveCell.Offset(0, 1).Value
                a = a + z
     
            End If
        '________22001___________
     
            Range("F10").Select
            ActiveCell.Offset(b, 0).Select
     
            If ActiveCell.Value = budjet2 Then
     
                z2 = ActiveCell.Offset(0, 1).Value
                a2 = a2 + z2
     
            End If
     
        Next
     
        Range("A10").Select
     
        '________22523___________
        Windows(" lpl.xls").Activate
     
        Range("K66").Select
        y = ActiveCell.Offset(0, -6).Value
        a = y - a
        If (a < 0) Then
           With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 255
            .TintAndShade = 0
            .PatternTintAndShade = 0
          End With
         ActiveCell.FormulaR1C1 = ""
            ActiveCell.Offset(0, 0).Select
            ActiveCell.Value = a
     
          Else
            ActiveCell.FormulaR1C1 = ""
            ActiveCell.Offset(0, 0).Select
            ActiveCell.Value = a
       End If
     
          '________22001___________
        Windows(" lpl.xls").Activate
     
        Range("K11").Select
        y2 = ActiveCell.Offset(0, -6).Value
        a2 = y2 - a2
        If (a2 < 0) Then
           With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 255
            .TintAndShade = 0
            .PatternTintAndShade = 0
            End With
           ActiveCell.FormulaR1C1 = ""
             ActiveCell.Offset(0, 0).Select
             ActiveCell.Value = a2
     
         Else
             ActiveCell.FormulaR1C1 = ""
            ActiveCell.Offset(0, 0).Select
            ActiveCell.Value = a2
        End If
    End Sub

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    J'ai lu ton pavé et je n'ai trouvé aucune question.

    Les tableaux dynamiques c'est avec Redim c'est gourmand en temps machine...
    Essaye avec du statique et un argument de fin.

    Bon courage.

Discussions similaires

  1. [XL-2007] Macro VBA Tableau dynamique croisé
    Par ypun5405 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/06/2014, 14h58
  2. [VBA-E] tableau dynamique
    Par bricereyem dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 09/06/2006, 17h57
  3. [VBA-E]actualisation d'un tableau dynamique par macro
    Par illight dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 18/04/2006, 16h37
  4. [VBA-E]Afficher tout dans un tableau dynamique croisé
    Par alex_95 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/03/2006, 13h09
  5. Réponses: 6
    Dernier message: 03/01/2006, 13h36

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