Problème avec une macro

Gu1llaume

XLDnaute Nouveau
Bonjour tout le monde,

J'ai un problème avec une macro que j'essaie de modifier.
Mon entreprise livre des petits déjeuners tous les matins à des hôtels. Au moment de la livraison, le client doit signer un document appelé "Delivery Note" pour accuser de réception et nous devons aussi lui fournir la liste des ses commandes du jour.
Pour l'instant, tout est manuel mais j'ai pu mettre la main sur un macro qui permet de ventiler une base de données et de créer un fichier excel par client. A l'heure actuelle, nous saisissons dans une base toutes les commandes que nous recevons et au moment de préparer les documents papier, nous filtrons sur le nom du client qui nous intéresse et imprimons cet excel filtré.

Bref, je souhaite partir du fichier ci-joint intitulé "Base" créer un fichier excel par client selon le modèle intitulé ici "DeliveryNote_template". Les deux fichiers ont exactement le même format. La macro qui permet de faire ça est dans le fichier "Ventilation Crash Test" seulement lorsque je la lance, j'ai un message d'erreur et les fichiers générés ne sont pas corrects..

Apparemment, le problème réside à la ligne suivante seulement je ne comprends pas ce qu'elle veut dire.. :
oShCible.Cells(iLigEcrite, iCol) = oShSource.Cells(iLig, iCol)

Pourriez-vous me donner un coup de main pour debuger ce code?

Merci beaucoup!!

Guillaume
 

Pièces jointes

  • Ventilation Crash Test.xlsm
    32.4 KB · Affichages: 20
  • DeliveryNote_template.xlsx
    10.2 KB · Affichages: 16
  • Base.xlsx
    12 KB · Affichages: 26

gilbert_RGI

XLDnaute Barbatruc
Re : Problème avec une macro

Bonjour,

Aucun problème constaté sur le fonctionnement de la macro

elle crée un dossier ex : Decoup16-06-07-183803

avec à l'intérieur deux fichiers clients : RoomSeasons_Monthlyperf_Client_1.xlsx et RoomSeasons_Monthlyperf_Client_2.xlsx

et un RoomSeasons_Monthlyperf_Location.xlsx
 

Gu1llaume

XLDnaute Nouveau
Re : Problème avec une macro

Bonjour,

Tout d'abord, merci pour votre réponse et d'avoir pris le temps de tester cette macro !
Effectivement, la macro fonctionne sauf quand il y a trop de données ! :(
Je m'explique : si j'ai un seul client avec un très grand nombre de commande, la macro fonctionne. De même si j'ai plusieurs clients avec une commande.
Mais lorsque j'ai plusieurs clients avec plusieurs commande, la macro me donne cette erreur : Run-time error Method 'Cells' of object'_Worksheet' failed

Existe-t-il un moyen d'améliorer cette macro pour qu'elle puisse traiter un grand nombre de données ?

Merci d'avance,
Guillaume
 

gilbert_RGI

XLDnaute Barbatruc
Re : Problème avec une macro

le problème vient de votre procédure de tri

j'ai modifié comme ceci et j'ai pu effectuer un grand nombre de fichiers

VB:
Private Sub TrierSource(poSh As Worksheet)


    Dim iLigFin As Integer


    iLigFin = poSh.Range("A" & Rows.Count).End(xlUp).Row


    poSh.Sort.SortFields.Clear
    poSh.Sort.SortFields.Add Key:=Range( _
                                  "A7:A" & iLigFin), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
                             xlSortNormal
    With poSh.Sort
        .SetRange Range("A7:I" & iLigFin)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With


End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 231
Messages
2 086 457
Membres
103 219
dernier inscrit
Akyrah