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, Création d'une Matrice avec boucles imbriquées.


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 1
    Points : 1
    Points
    1
    Par défaut VBA, Création d'une Matrice avec boucles imbriquées.
    Autre Post
    Bonjour,

    tout d'abord pardonnez- moi d'avance l'absence d'accent dans mon message, (clavier etranger)

    Je dispose d'un dossier contenant de nombreux fichiers excel de formes identiques. Dans chacun se trouve dans la colonne H une variable 'Heure' de la forme 0123 pour 01h23 , qui s'etend a partir de 0000 jusqu'a 2359, a chaque periode de temps est associe un certain nombre (d'operation) un entier naturel ou nul, contenue dans la colonne A . Cependant l'heure n'est pas distribue de maniere 'homogene', je m'explique, sur le Fichier 1 de mon dossier je peux avoir :

    0012
    0023
    0034
    0056

    Et avoir dans le Fichier 2 du dossier

    0021
    0045
    0059




    Ce que je souhaite donc est de creer sur un autre fichier excel une matrice de la forme suivante:
    H1 correspond a la periode de temps entre 0000 et 0059 , cela jusqu'a entre 2300-2359=H24
    1;2;3 ... Correspond au different fichier de mon dossier.



    H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 ....H24
    1

    2

    3

    4

    5

    .
    .
    .
    Nombre de fichier total

    Donc pour chaque periode de temps (chaque heure en realite) je souhaite faire la somme du nombre d'operation contenu en A et ce pour chaque feuille. Ce que j'ai fais pour l'instant est le code 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
    33
    34
    Sub Dailytraffic3()
    'Application.ScreenUpdating = False
    Dim wB As Workbook
    Dim SumResult As Double
     
    'Dim H1 As Range
    Dim i As Integer
    Dim H1RAN As Variant
     
    Set FileSystemObj = CreateObject("Scripting.FileSystemObject")
    Set FolderObj = FileSystemObj.GetFolder("C:\...\") 
    Set H1RAN = Workbooks("Libro1").Sheets("Hoja1").Range("B1")
     
    For Each fileobj In FolderObj.Files
    Set wB = Workbooks.Open(fileobj.Path)
    For i = 4 To 100
     
    'H1 = (wB.Sheets("Schedule Daily Bank Structure R").Cell(i, 1).Value)
     
    If (0 <= Left(wB.Sheets("Schedule Daily Bank Structure R").Cells(i, 8).Value, 2) < 1) Then
     
    H1RAN = H1RAN + wB.Sheets("Schedule Daily Bank Structure R").Cell(i, 1).Value  'Cela ne fonctionne pas, je ne sais pas vraiment pourquoi ...
     
    End If
    Next i
     
    H1RAN = Workbooks("Libro1").Sheets("Hoja1").Range("B1") + 1
     
     
    wB.Save
    wB.Close
        Next fileobj
     
    End Sub


    Je souhaite repeter l'operation 24 fois en creant H2RAN , H3RAN etc ...

    Pour l'instant cette ''intuition'' et ce debut de code ne fonctionne meme pas, cela fait pas mal de temps que je travaille dessus.

    Je precise aussi que je debute tout juste en VBA,


    Je vous remercie sincerement pour votre contribution.

  2. #2
    Membre à l'essai Avatar de BAL_pro_18
    Homme Profil pro
    Ingénieur Indépendant
    Inscrit en
    Juin 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur Indépendant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2020
    Messages : 7
    Points : 12
    Points
    12
    Par défaut 4 yeux valent mieux que 2
    Bonjour,

    je commence à m'en sortir aussi en VBa à force de manipuler

    En regardant ton code, j'ai pu remarquer quelques points qui peuvent expliquer que cela ne fonctionnent pas ou dysfonctionne.

    1. "Set FileSystemObj = CreateObject("Scripting.FileSystemObject")" ok par contre la variable "FileSystemObj" n'est pas déclaré, un "DIM FileSystemObj as Object (ou variant)" améliorerait surement le code. vérifie peutêtre que toute variable soit correctement déclaré.
    2. apparrement, tu n'ouvre pas le fichier avant d'essayer d'atteindre des données ce qui doit surement te créer une erreure.

    et surement d'autres dysfonctionnement

    Pour les différentes méthodes, je t'invite à allez dans la documentation microsoft en tapant la méthode et le language dans ton moteur de recherche
    , par exemple "getfolder vba" ce qui te proposera https://docs.microsoft.com/fr-fr/off...tfolder-method souvent un exemple avec les différentes options te sont expliqués te permettant de mieux appréhender ton problème.

    4. enfin à chaque code erreure, fait une recherche dans le moteur pour essayer de comprendre la raison si tu n'y arrive pas, post un message pour que l'on essaye de voir avec toi la cause probable, avec le code erreur produit.

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/05/2016, 13h48
  2. [XL-2013] VBA - Création d'une Boucle à partir d'un Tableau
    Par m.renauld dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 27/12/2014, 15h09
  3. Création d'une matrice carrée avec SQL et parcours de table SQL server
    Par ismahane.silhadi dans le forum Développement
    Réponses: 4
    Dernier message: 03/12/2014, 15h07
  4. [XL-2010] Recherche dans une matrice avec doublons (formule ou VBA)
    Par Lucorah dans le forum Excel
    Réponses: 7
    Dernier message: 07/05/2012, 17h16
  5. Réponses: 6
    Dernier message: 07/02/2007, 15h03

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