Macro pour un recapitulatif de donnes

Résolu
tatiachou Messages postés 12 Statut Membre -  
kadeh Messages postés 341 Statut Membre -
Bonjour,
JE SUIS EN TRAIN DE FAIRE UEN MACRO MAIS JE BLOQUE. MA 1er feuiille est le recap des données de tous les onglets commencant par F. ( il yta F1. F2 ETC) ce sont des factures du client X.
JE VOUDRAIS SUR LA FEUILLE RECAP AVOIR LES DONNES DE CHAQUE FACTURE. CES DONNEES SONT DANS LES MEMES REFERENCES DE CELLULES QUELQUE SOIT LA FACTURE. (NOM, PRENOM, MONTANT, acommpte, TVA).
pour l instant la macro marche en m indiquant dans la feuille Recap les données cherchée en feuille F1 donc sur la facture F1.
comment faire pour automatiser CETTE TACHE pour que la macro aille me chercher les autres onglets et qu au fur et a mesure que je rajoute un onglet F pour une autre facture, la feuille recap se mettre a jour.
MERCI DE VOTRE AIDE.

LA FEUILLE RECAP DOIT ME PERMETTRE DE SAVOIR LE CHIFFRE D AFFAIRE D UN CLIENT, le montant de la TVA etc

3 réponses

  1. kadeh Messages postés 341 Statut Membre 92
     
    bonjour

    tu peux essayer ce morceau

    dim x as long,

    'je suppose que tu as 100 facture ,et tes feuilles ont pour nom F1, F2,.... bien sur tu peux augmenter ce nombre
    for x=1 to 100
    Sheets("Fx").Select
    'puis tu met ton macro
    exit for
    next x
    cancel =true
    end sub
    0
    1. kadeh Messages postés 341 Statut Membre 92
       
      oublie ma 1ère réponse et prend ce là doit marcher

      Sub Macro1()
      '
      Dim i As Long

      For i = 2 To Worksheets.Count - 1 'Parcours des feuilles
      Sheets(Array(i)).Select
      'puis tu met ton macro qui sert à collectionner les données
      Next i
      cancel = True
      End Sub
      0
      1. tatiesse > kadeh Messages postés 341 Statut Membre
         
        merci khade de m avoir repondu! j ai inséré la procedure ci dessous mais il ya un souci ; la procedure Sheets(Array(i)).Select est souligné en jaune! au debogage! merci de m aider! lmes factures commence par F1; F2 etc sur chaque onglet. le 1er onglet est celui du recap

        Dim i As Long

        For i = 2 To Worksheets.Count - 1
        Sheets(Array(i)).Select

        Sheets("F1").Select

        Range("G9").Select
        Selection.Copy
        Sheets("Recap").Select
        Range("A4").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        0
      2. kadeh Messages postés 341 Statut Membre 92 > tatiesse
         
        en premier temps enlève la ligne (Sheets("F1").Select)

        ?????mes factures commence par F1; F2 etc sur chaque onglet. le 1er onglet est celui du recap ?????

        ------>>

        Sub Macro1()

        Dim i As Long

        For i = 2 To Worksheets.Count - 1

        Sheets(Array(i)).Select

        Range("G9").Select

        Selection.Copy

        Sheets("Recap").Select

        Range("A4").Select

        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

        end sub

        ---------------------------
        tu copie la valeur de la cellule G9 dans la cellule A4 ??? à quoi sert ça ???

        sincerement je t'ai pas compris si tu explique un peux ça sera mieux à fin dde te données

        une réponse exacte et rapide





        @+
        0
  2. kadeh Messages postés 341 Statut Membre 92
     
    je compend que tu veux copier les valeurs de G9,B22,B23 de chaque facture dans
    la colonne A,B,C a partir de la ligne 4 si c'est ça que tu veux:
    faix ceci j'ai tester cette macro et c'est bien marché:

    Sub Macro1()
    '
    Dim i As Integer

    '
    For i = 2 To Worksheets.Count - 1 'Parcours des feuilles

    Sheets(Array(i)).Select
    Range("G9").Select
    Sheets("Recap").Range("A65536").End(xlUp).Offset(3, 0).Value = ActiveCell.Value
    Range("B23").Select
    Sheets(Array(i)).Range("B65536").End(xlUp).Offset(3, 0).Value = ActiveCell.Value
    Range("B22").Select
    Sheets(Array(i)).Range("C65536").End(xlUp).Offset(3, 0).Value = ActiveCell.Value
    Next i
    cancel = True
    End Sub
    0
  3. tatiachou Messages postés 12 Statut Membre
     
    bonjour,
    j'ai un dossier dans lequel il y a des fichiers CLT1, CLT2, CLT3 etc. (ce sont des fichiers recapitulatif de chiffre d affaires) .La 1ere feuille est celle recapitulatif de nom de societé et liste de facture et montant. JE VOUDRAIS UNE MACRO QUI OUVRIRA LE FICHIER F1 ET RECUPERERA LES INFO (les lignes de factures) et me le recopiera sur une autre feuille et ainsi de suite!
    je dis a la macro :ouvre moi le fichier CLT1 , éxecute la macro qu elle contient et copie le résultat et colle le dans le fichier RECAP.

    ouvre moi le fichier CLT2 , éxecute la macro qu elle contient et copie le résultat et colle le dans le fichier RECAP a la suite du 1er résultat lorsque tu as copier CLT1 et ainsi de suite à chaque fois que tu trouves un fichier CLT* ouvre le et copie le
    merci de votre aide.
    0
    1. kadeh Messages postés 341 Statut Membre 92
       
      Bonjour,
      excuez-moi, j'ai pas pu répondre aux messages que tu as envoyé
      j'ai beaucoup de travail cette semaine
      pour ton fichier récap global:
      je pense que la procédure que décrit ici n'est pas la bonne solution:
      si tu ouvre le fichier récap global et tu lance une macro qui vas ouvrir un par un les fichier client (CLT1,CLT2,...) et dans chaque fichier vas lancer une autre macro qui enregistre les données de chaque facture dans la première feuille (récap)
      et extraire les donnéess de cette feuille pour les mettre dans la feuille récap global
      pour faire cette procédure pour un seul client ça peut etre un peu lent
      si tu a par exemple 10 client je pense que tu lance cette macro et tu doit la laisser travailler et aller prendre un café, tu reviens aprés une demi-heure pour voir si elle a términé le travail demandé

      pourquoi tu ne crée pas une macro dans chaque fichier client qui transfère les données de la feuille récap vers récap global sans l'ouvrir.
      @+
      0