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] Récupération de données dans tableau recapitulatif


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 51
    Par défaut [VBA] Récupération de données dans tableau recapitulatif
    Bonjour

    Je suis en train de créer une feuille récapitulavive (Un nouveau Classeur) de toutes les pannes/défaillances ayant encore cours dans un parc de 100 machines. Chaque machine posséde une "fiche de vie" (Chaque machine a un classeur, et il est nommé comme ceci: machine1=1.xls; machine2=2.xls ; ..etc) , celle-ci liste l'ensemble des pannes en cours ou déjà traitées. Si une panne est traitée, alors dans la première cellule de ligne il y a un 0 sinon cela veut dire que la panne est en cours et l'on a un 1. Chaque ligne correspond à une panne. Voici un exemple de tableau.

    Tableau1: Fiche de vie d'une machine quelconque
    Je voudrais créer un tableau récapitulatif ou l'ensemble des pannes encore en cours, de chacune des machines serait listée. Un petit peut comme ci-dessous.

    Tableau2: Tableau récapitulatif

    Pour ce faire il me faudrait une macro qui parcours l'ensemble des fiches machine, qu'elle me copie les lignes ou il y a des défaillances en cours, et qu'elle me colle l'ensemble dans le tableau récapitulatif avec le nom de la machine au-dessus de la première ligne de défaillance. :O
    Cela sera peut être plus claire avec l'explication qui suit.

    Tableau3: Algorithme (écrir à la barbare)

    // Déclaration variable
    i = integer // Compteur


    // Début de boucle: Numérotation des classeur des différentes machines

    ->Boucle avec i=0 jusqu'à i=100 en incrémentant de i+1 for(i=1;i=100;i++)
    {
    • Ouvre le classeur de la machine "i"
      // Ici il va peut être falloir incorporer une deuxième boucle pour parcourir l'ensemble des lignes
    • -->Si il y a des lignes ou la première cellule et = 1 alors
      {
      • Copie le nom de la machine (Cellule E1)
      • Colle le nom de la machine dans "tableau_récapitulatif" dans la première ligne sans caractère
      • Va sur le classeur machine nommé "i"
      • Copie l'ensemble des lignes ou la première cellule et = 1
      • Colle dans le classeur "tableau_récapitulatif" l'ensemble des lignes copier, en-dessous du nom de la machine précédemment collé.
      }
    • -->Sinon
      {
      • ne fait rien
      }
    }
    Je mets à votre disposition les fichiers pour voir l'emplacement de chaque colonne.




    Merci d'avance

    Cordialement
    n0vocaine
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 51
    Par défaut
    mon probléme n'inspire personnes? Peut être que vous n'avez pas compris quelque chose?

Discussions similaires

  1. Vba copie de données dans un autre tableau
    Par wade-doak dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/07/2008, 07h53
  2. Récupération de données dans un tableau
    Par spad22 dans le forum Excel
    Réponses: 8
    Dernier message: 14/12/2007, 11h58
  3. Méthode Find pour récupération de données dans un tableau
    Par clem.villeneuve dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/06/2007, 15h26
  4. Réponses: 2
    Dernier message: 02/08/2006, 15h11
  5. Réponses: 1
    Dernier message: 04/06/2006, 16h08

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