Fichier récapitulatif grâce à 1macro

Résolu
Marielle -  
 60119126 -
Bonjour,

Je travail actuellement sur un bon de commande réalisé sur excel. Grâce au forum j'ai déjà résolue certains de mes problèmes, il m'en reste encore 1 (enfin j'espère...).

Alors je vous explique mon cas.

J'ai réalisé un bon de commande sur excel dont le numéro augmente de 1 avant chaque impression, une sauvegarde de ce bon de commande est ensuite faite au format pdf.

Il y a 5 personnes pouvant faire des commandes dans ma société donc j'ai créer un bon par personne. Afin que les bons au format pdf soient triés dans des dossiers en fonction de la personne qui fait la commande.

Je voudrais toutefois faire un fichier récapitulatif des bons de commandes de tous les utilisateurs, reprenant certains informations.
Est-il possible de faire un macro reprenant les informations du fichier excel "bon de commande" dans un nouveau fichier récap. Les informations doivent être reprises de façon horizontale, à chaque nouveau bon de commande l'information doit être reprise une ligne en dessous de la précédente.

J'espère que mon explication est claire?
Quelqu'un peut-il m'aider?


A voir également:

15 réponses

melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
Bonjour,

c'est faisable.
il faudrait que tu mes dises dans quelles cellules sont tes données et dans quel ordre tu veux qu'elles soient enregistrées dans ton fichier récapitulatif.
0
Marielle
 
Bonjour,

Les infos à reprendre lieu au les info doivent
être reprise

"Bon de commande" "recap"

F3 colonne A aprés A5
F6 colonne B après B5
.....
....
...
J'arrive bien à reprendre les infos dans le fichier récap , à chaque nouveau bon de commande j'écrase les infos du précédent.mais pas a ajouter ce que les infos soient reprise une ligne plus bas a chaque fois.
0
melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
Bonjour,

pour les ajouter à la fin, tu rajoutes cette petite boucle
nom =activeworkbook.name ' permet récupérer ton nom de fichier de bon de commande

workbooks("Recap").activate
sheets("feuil1").select
i= 1 'commence à la première ligne
do while cells(i,1) <> "" 'va tourner jusquà ce que la cellule à la ligne i et à la colonne 1 soit vide.
i=i+1
loop

'la tu recopies tes données comme ca : attention, tes deux fichiers doivent être ouvert :
workbooks (nom).activate
range("F6").copy

workbooks("recap").activate
cells(i,1).select
activesheet.paste


tu dois surement l'adapter mais si tu as compris le principe, ca devrait aller.
0
Marielle
 
Bonjour,

y'a t-il encore quelqu'un pour m'aider?
0
Marielle
 
Bonjour,

Je n'ai pas pu regarder avant t'as réponse (j'été en vacances), je n'arrive pas à adapter cette macro, car je ne sais pas ou la mettre.

Voici la macro que j'utilise actuellement :

Sub bondecommande()
'bondecommande Macro

'Oblige l'utilisateur à saisir quelque chose en délai max pour continuer
Sheets("bondecommande").Select
If [b44] <> "" Then
Else
MsgBox "Compléter la cellulle B44, Délai maximum non renseigné"
End If
'utilisateur peu continuer si il à saisi quelque chose en délai max
If [b44] = "" Then
Else
'augmente le n° du bon de commande de 1
Dim num As Integer
Range("f3").Select
num = Range("f3").Value
num = num + 1
Range("f3").Value = num
End If

'If [b44] = "" Then
'imprime le Bon de commande en 2 exemplaires
'Else
'ActiveWindow.SelectedSheets.PrintOut copies:=2
'End If

If [b44] = "" Then
'Fait une sauvegarde du bon de commande au format excel et une sauvegarde sous au format pdf
Else
ActiveWorkbook.Save
Dim chemin1
chemin1 = "S:\Bdd_Techniques\Bon de commande\Marielle\"
N°commande = Range("f3")
Acheteur = Range("h3")
Fichier = "N°Commande" & N°commande & "_" & Acheteur & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin1 & "Commande N° " & N°commande & "_" & Acheteur & ".pdf"
End If

End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Pouvez-vous mettre un extrait (sans données identifiables) de vos 2 classeurs dans un dossier ZIP ou RAR sur https://www.cjoint.com/ et poster le lien.
0
Marielle
 
Bonjour,


Voila le lien pour mon fichier : http://cjoint.com/11jn/AFEhtJmDctF.htm
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Merci pour le fichier.
Je suppose que le classeur de récupération se nomme : Recap.xls
Pouvez-vous me communiquer les cellules que vous voulez récupérer en plus des [F3] et[F6]?
0
Marielle
 
Les informations que je souhaite reprendre se trouvent en "f3" "f6" "d42" "b44"
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Merci Marielle,
Patience ...
Salutations.
Le Pingou
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
J'ai placé les instructions en fin de procédure (voir note)
Bien entendu que le classeur [Recap.xlsx] doit être ouvert avec cette version de code.
Note : au passage j'ai modifié votre code pour [Fichier vierge]
Votre classeur : https://www.cjoint.com/?3FEoNeb7Guw
0
Marielle
 
Bonjour,

Et merci,
Aujourd'hui il m'est impossible de tester la macro, j'ai du travail urgent à finir, je fais donc sa lundi et vous tiens au courant.
Merci pour votre aide
0
marielle
 
Merci Le Pingou, tout fonctionne très bien!!

Maintenant j'essai d'ajouter un mien hypertexte dans le fichier récap pour ouvrir le fichier pdf.

On peut vraiment faire beaucoup de chose avec les macros.
avez vous un conseil pour apprendre à faire des macros plus complexe, ou au moins savoir tout ce qui est possible de faire.
0
60119126 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   21
 
Bonsoir les frères!
j'ai le même problème, j'avoue que je suis novice en Excel
mes fichiers sont numérotés de 1001 à l'infini car ça ne cesse de croitre, mais ils sont tous sous le même format.
je souhaiterais récupérer certaines cellules, soit D4, E6, F9,... dans un autre fichier de synthèse sous forme de tableau où sous l'onglet A1 figurent tous les noms de fichiers dans l'ordre, sous B1 figurent la valeur de D4 des différents fichiers les unes après les autres, pareil que sous C1 la valeur de E6, ainsi de suite...
si possible dans la dernière colonnes les dernières dates de modification. SVP aidez moi, je suis dans l'impasse
0
mic13710 Messages postés 1087 Date d'inscription   Statut Membre Dernière intervention   358
 
Votre demande n'a rien à faire ici, ni d'ailleurs sur cet autre fil de discussion https://forums.commentcamarche.net/forum/affich-8932162-recapitulatif-d-un-fichier
Créez votre propre sujet pour ne pas polluer les discussions en cours
0
60119126
 
merci mic 13710 kan même!
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Oui un nouveau poste serait plus adéquat, mais le principal serait de données un exemple concret avec un fichier sur https://www.cjoint.com/ et poster le lien.
Salutations.
Le Pingou
0
60119126
 
ok, merci, je t'envoie un exemple concret de suite, en fichier compressé.
0
60119126
 
voilà le lien http://cjoint.com/?AIql4O7naWn
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Merci pour le fichier.
A première vue vous avez autant de classeurs que de clients/factures (avec une seule feuille !).
Dans ce cas vous avez besoins d'une procédure en partie existante dans le classeur [Recap0.xls] !
Qu'elle est exactement le problème, est la procédure qui ne fonctionne pas ou autre chose ?
0
60119126
 
wi, la procédure fonctionne avec les deux premiers classeurs, mais pas avec 1006_AFF.xls, ça me signale une erreur, fais le test et tu me comprendras, mais renomme recap0.xls en recap.xls
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Le problème est au niveau du nom de la feuille, une fois [AFF] et les 2 autres [Feuil1] et dans la procédure vous donnez la référence de la [Feuil1] donc pour la [AFF] vous recevez un message d'erreur.
Correction : nommer toutes les feuilles avec le même noms ou dans la procédure utiliser le numéro de la feuille, qui est 1 dans votre cas (Workbooks(nf).Sheets(1).Range("C1").Value).
0
60119126
 
merci Le pingou pour avoir détecter cette erreur. vraiment merci, ouf!
1)dis moi, comment faire pour ajouter le nom du fichier et la dernière date de modification.
2) et aussi comment faire pour que le Recap soit fait automatiquement sans cliquer sur la commande.?
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Concernant :
2) et aussi comment faire pour que le Recap soit fait automatiquement sans cliquer sur la commande?
Réponse : Lancer la procédure sur ouverture du classeur en utilisant [Private Sub Workbook_Open()]
1) dis-moi, comment faire pour ajouter le nom du fichier et la dernière date de modification.
Réponse : ou se trouve la date de modification et ensuite ou doit apparaitre le nom du classeur et la date ?

0
60119126
 
merci, mais c'est un peu flou dans ma tête, stp, écris moi un exemple concret!
encore merci pour ta disposition
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Vous insérer la procédure qui suit dans le [ThisWorkbook]
Private Sub Workbook_Open()
Call consolide
End Sub
Résultat à chaque ouverture du classeur [Recap0.xls] la procédure [consolide] sera exécuté.
0
60119126
 
merci encore le pingou, ça marche très bien!
dis-moi, comment faire pour ajouter le nom du fichier et la dernière date de modification ? dans deux autres colonnes. Soit A et M
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Le fichier est le nom du classeur ... Oui / Non ?
Où est la date de modification ?
Pour la colonne A c'est OK. Pour la M non car occupé par Client ....!

Salutations.
Le Pingou
0
60119126
 
Oui le fichier est le nom du classeur.
la date de modification est celle du système, quand on range les fichiers (click droit------affichage----Détails)
on laisse tomber la colonne M, on prendra S
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Cette commande, (click droit------affichage----Détails), n'existe pas... !
Salutations.
Le Pingou
0
60119126
 
au fait, c'est kan les fichiers sont rangés par détails sous windows xp, on voi la dernière date de modification, c'est cette info que je veux récupérer
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Je suppose que mon message de hier est inutile ... !
Salutations.
Le Pingou
0
60119126
 
salut mon pote!
tes messages ne sont jamais inutiles, ça sert quand même quelque part!
t'as vu de quelle date, je parle?
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Votre dossier : https://www.cjoint.com/?3IrwnmDOMQB
0