Problème sur macro

Thierry51170

XLDnaute Nouveau
Bonjour à tous,
je suis novice en macro, je dois finaliser cette macro le transfert pour la sauvegarde se passe bien mais la feuille du premier classeur ne se vide pas quand le nouveau numéro incrémenté est changé.
si vous avez une idée :)
je vous joint mes deux fichier:
le 1 fichier se nomme : commande
le 2 fichier se nomme : modèlemensuel
merci d'avance
 

Pièces jointes

  • 1 fichier.xlsm
    29.4 KB · Affichages: 38
  • 2 fichier.xlsm
    14.3 KB · Affichages: 39

Staple1600

XLDnaute Barbatruc
Re

C'est bien ce que je disais
Si tu testes, tu te rends compte que ZoneSaisie n'englobe pas toutes les cellules jaunes.
MsgBox [ZoneSaisie].Address
Par contre là on a toutes les cellules jaunes
MsgBox Range("E4,B11:B13,A11:B16,D11:G16,E18,A19,A25:G50").Address
Donc tu pourrais écrire pour effacer
Range("E4,B11:B13,A11:B16,D11:G16,E18,A19,A25:G50")=Empty
 

Thierry51170

XLDnaute Nouveau
Bonjour JM,
Je te remercie cela fonctionne à merveille, peux tu me dire également pour le bouton pour le faire disparaître dans la copie de sauvegarde.
pour information les données du 1 classeur " commande "sont sauvegardées sur le 2 classeur "modèlemensuel".
avec une incrémentation automatique de la date .
bien cordialement
 

Staple1600

XLDnaute Barbatruc
Bonsoir à tous

Si j'étais moi, j'enregistrerai la facture en PDF
(comme cela théoriquement le bouton disparaît, non ?)

EDITION: Je viens de tester
VB:
Sub Export_PDF()
Dim strPath$, Fichier$
strPath = ThisWorkbook.Path & "\"
Fichier = "Commande-" & Format(Now(), "mmmyy") & ".pdf"
Range("A1:G56").ExportAsFixedFormat 0, strPath & Fichier, 1
End Sub

Le bouton a bien disparu
 
Dernière édition:

Thierry51170

XLDnaute Nouveau
Bonjour JM,
merci pour le retour, cela est intéressant, mais je dois conservé une copie exact également avec un récapitulatif .
j'ai mis en place le code pour l’effacement des cases qui doivent se vider cela fonctionne à merveille, encore merci.
un autre problème se pose quand je place les deux fichiers sur un disque partagé j'ai une erreur " voir fichier joint "
merci encore pour ton aide je remets le fichier 1 avec mes codes mis à jour .
bien cordialement
 

Pièces jointes

  • fichier 1.xls
    50.5 KB · Affichages: 36
  • erreur sur serveur.PNG
    erreur sur serveur.PNG
    22.4 KB · Affichages: 29

Staple1600

XLDnaute Barbatruc
Bonsoir à tous

Thierry51170
Si j'étais de nouveau moi, je resumerai ta macro ainsi
VB:
Sub a()
Dim strPath$, Fichier$, f As Worksheet, t
'export de la commande en PDF
strPath = ThisWorkbook.Path & "\"
Fichier = "Commande-" & Format(Now(), "mmmyy") & ".pdf"
Set f = Sheets("commande")
f.Range("A1:G56").ExportAsFixedFormat 0, strPath & Fichier, 1
'on exporte la commande validée dans le classeur mensuel
t = Array(f.[E8].Value2, f.[E2].Text, f.[D19].Text, f.[E4].Text, f.[D11].Text)
Workbooks("2 fichier.xlsm").Sheets("récap").Cells(Rows.Count, 1).End(xlUp)(2).Resize(, 5).Value = t
Workbooks("2 fichier.xlsm").Close True
'RAZ de la commande
f.Range("E4,B11:B13,A11,D11,D19,A19,A22,A25:G50") = Empty
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Ma macro n'a rien de finale, c'est juste une suggestion ;)
Pour la tester, ouvres fichier 1 et fichier 2 en même temps.
(je parle des deux fichiers du message#1)
Mets ma dernière macro dans le fichier qui contient la feuille commande.
Remplis une commande puis lance la macro
Normalement tu dois alors avoir une copie de la commande en PDF
puis les données de la commande sont copiées dans la feuille récap.
 

Thierry51170

XLDnaute Nouveau
Bonjour JM,
merci pour ce retour, j'ai placé ta macro dans les dossiers concernés, elle fonctionne bien , concernant le fichier PDF il me garde unique la dernière commande passée et les autres sont effacées,
est il normal que je dois ouvrir les deux fichiers et que je dois activer activé les 2 macros ensembles .
le bouton validation me rapporte le message " capture " et lorsque je teste la macro il me dis le message " capture 2 ".
encore merci pour ton aide
bien cordialement
 

Pièces jointes

  • Capture.PNG
    Capture.PNG
    11.9 KB · Affichages: 20
  • Capture 2.PNG
    Capture 2.PNG
    22.6 KB · Affichages: 35

Staple1600

XLDnaute Barbatruc
Bonjour à tous

Thierry51170
Comme je l'ai dit, j'ai testé ma dernière macro avec les fichiers que tu as déposé dans le message #1
Mode opératoire
1) tu remplis manuellement la feuille nommée "Commande"
2) Si tu lances la macro, il doit se passer ceci
•La feuille commande est enregistrée au format PDF avec ce nom : Commande-oct16.pdf
(donc il faudrait changer le nom, car tel quel tu ne peux enregistrer qu'un commande par mois)
•Les données "utiles" de la feuille commande sont copiées dans la première ligne de la feuille "récap" du second fichier
• La feuille commande est remise à zéro.
Ci-dessous macro modifiée et commentaires ajoutés
(la macro doit être dans le fichier 1 ou son équivalent "réel")
(il faut vérifier que les noms des classeurs et des feuilles soient indiques dans les classeurs et dans la macro, sinon il y aura bug)

VB:
Sub b()
Dim strPath$, Fichier$, f As Worksheet, t, NumFact
NumFact = [codes!A2]
'export de la commande en PDF
strPath = ThisWorkbook.Path & "\"
Fichier = "Commande-" & NumFact & "-" & Format(Now(), "mmmyy") & ".pdf"
Set f = Sheets("commande")
f.Range("A1:G56").ExportAsFixedFormat 0, strPath & Fichier, 1
'on exporte la commande validée dans le classeur mensuel
'dans cette ligne,mettre les adresses des "bonnes" cellules
t = Array(f.[F8].Value2, f.[E2].Text, f.[D19].Text, f.[E4].Text, f.[D11].Text)
'remplacer si besoin 2 fichier.xlsm par le nom du vrai classeur (dans les duex lignes ci-dessous
'ce classeur doit être ouvert
Workbooks("2 fichier.xlsm").Sheets("récap").Cells(Rows.Count, 1).End(xlUp)(2).Resize(, 5).Value = t
Workbooks("2 fichier.xlsm").Close True
'RAZ de la commande
'vérfier que ce sont les bonnes adresses des cellules à effacer
f.Range("E4,B11:B13,A11,D11,D19,A19,A22,A25:G50") = Empty
'ici on incrémente le compteur
Sheets("codes").[A2] = Sheets("codes").[A2] + 1
End Sub


NB: Encore une fois, ma macro n'est qu'une suggestion, une piste à suivre ou pas; mais en aucun une solution finalisée apte à remplacer le code initial de Misange (auteur de ton classeur, et membre du forum qui se fait rare sur celui-ci)
 
Dernière édition:

Thierry51170

XLDnaute Nouveau
Bonjour JM,
Merci pour ce retour, j'ai apporté quelque modification afin de pouvoir conservé la commande exel sur le 2 fichier ainsi que d'en avoir une copie en PDF avec toutes les commandes, mais le problème cela me fait bien les sauvegardes en PDF mais avec une incrémentation du numéro de faction non faite encore.
de plus j'ai un décalage dans la sauvegarde dans la feuille nommé " récap"
encore merci de ton aide et des propositions que tu m'apporte afin de pouvoir avancé un peu plus dans le BVA
ci joint les deux fichiers pour test
Bien cordialement
 

Pièces jointes

  • commande.xls
    67.5 KB · Affichages: 38
  • Commande-oct16.xls
    1.1 MB · Affichages: 42
  • Commande-BARTH-37-.pdf
    387.1 KB · Affichages: 34

Staple1600

XLDnaute Barbatruc
Re à tous

Bien lire tous les commentaires en vert dans la macro.
Notamment ceci, pour cette histoire de décalage.
'on exporte la commande validée dans le classeur mensuel
'dans cette ligne,mettre les adresses des "bonnes" cellules

Sinon j'ai plus l'impression que ma suggestion t'embrouille plutôt qu'autre chose, non ?

Pour éviter cela, tu devrais repréciser de A à Z ce que doit faire ta macro
(ne sois pas avare de détails)
Tout ce que fait ma macro pour le moment se résume en gros à:
1) enregistrer la feuille commande en PDF
2) copier certaines cellules de la feuille commande dans la feuille récap
3) effacer certaines cellules de la feuille commande
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
313 344
Messages
2 097 337
Membres
106 916
dernier inscrit
Soltani mohamed