Macro pour un recapitulatif de donnes

Résolu/Fermé
tatiachou Messages postés 12 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 8 mai 2008 - 12 avril 2008 à 18:10
kadeh Messages postés 334 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 15 novembre 2012 - 18 avril 2008 à 14:31
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
A voir également:

3 réponses

kadeh Messages postés 334 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 15 novembre 2012 92
12 avril 2008 à 18:32
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
kadeh Messages postés 334 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 15 novembre 2012 92
12 avril 2008 à 18:55
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
tatiesse > kadeh Messages postés 334 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 15 novembre 2012
12 avril 2008 à 21:18
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
kadeh Messages postés 334 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 15 novembre 2012 92 > tatiesse
12 avril 2008 à 22:06
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
kadeh Messages postés 334 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 15 novembre 2012 92
13 avril 2008 à 00:00
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
tatiachou Messages postés 12 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 8 mai 2008
18 avril 2008 à 14:00
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
kadeh Messages postés 334 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 15 novembre 2012 92
18 avril 2008 à 14:31
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