macro : copier/coller les valeurs dans un autre classeur sous conditions

max 35

XLDnaute Nouveau
bonjours,

je suis débutant en macro et j'essaye de faire une macro qui me permettrai de copier les lignes dans lesquels la colonne M est sur "oui".
ensuite d'aller COLLER LES VALEURS dans un autre classeur (même format de tableau) à la prochaine ligne vide.
en espérant avoir étais clair.

merci d'avance pour vos réponse

max

ps : exemple en pièce jointe
 

Pièces jointes

  • test macro commande.xlsm
    63.2 KB · Affichages: 89

Paritec

XLDnaute Barbatruc
Re : macro : copier/coller les valeurs dans un autre classeur sous conditions

Bonjour max35 le forum
super ton exemple!!!!!!
Il faut faire une macro pour copier, mais copier ou??? et en plus il n'y a rien a copier puisqu' aucune ligne n'est à oui dans la colonne M !!!!!!!!!!!!!!!!!!!
Bref
a+
Papou:eek:
 

DoubleZero

XLDnaute Barbatruc
Re : macro : copier/coller les valeurs dans un autre classeur sous conditions

Bonjour + bisous, Papou :D, bonjour, max 35, le Forum,

Comme le dit Papou, les renseignements sont maigrelets :( !

Un essai avec ce code, placé dans le fichier source :

VB:
Option Explicit
Sub Archiver()
    Dim i As Long
    Dim SOURCE As Workbook, DESTINATION As Workbook
    Application.ScreenUpdating = False
    'emplacement et nom du fichier adapter
    Set DESTINATION = Application.Workbooks.Open("C:\Users\DoubleZero\Downloads\max 35-Archives.xlsm")
    'attention : on part du principe "même format de tableau", la ligne 3 étant la ligne de titres, on efface tout à partir de la ligne 4
    Range(Range("a4"), Range("m4").End(xlDown)).Clear
    Set SOURCE = ThisWorkbook
    SOURCE.Activate
    'nom d'onglet destinataire adapter
    For i = Cells(Rows.Count, "a").End(xlUp).Row To 4 Step -1
        If Range("a" & i).Offset(, 12) = "oui" Then Rows(i).Copy DESTINATION.Sheets("commandes de vitrage").Range("a65536").End(xlUp)(2)
    Next i
    DESTINATION.Sheets("commandes de vitrage").Shapes("Bouton 1").Delete
    DESTINATION.Close True
    Application.ScreenUpdating = True
End Sub

A bientôt :)
 

max 35

XLDnaute Nouveau
Re : macro : copier/coller les valeurs dans un autre classeur sous conditions

rebonjour,

désolé pour les infos maigrelettes...
je vais essayer d'être plus clair.
la destination est un autre classeur qui aura le même format que je vais créer en fonction de vos réponse.
la pièce jointe n'est qu'un exemple d'un classeur bcp plus gros...
désolé pour les "oui" j'ai complètement oublié.
peut importe la ligne tant que ça copie les ligne avec "oui"
et j'ai besoin de copier/coller les valeurs donc ne pas effacer la source.
pour info ce classeur est un module de confirmation de commande client et je souhaite qu'il renseigne un autre classeur de commande au fournisseur.
et j'ai oublié de préciser que la macro doit se déclencher à partir d'un bouton.

j'espère que cela va vous aidez à m'aider...

merci

max
 
Dernière édition:

max 35

XLDnaute Nouveau
Re : macro : copier/coller les valeurs dans un autre classeur sous conditions

bonjours,

j'ai testé la macro et elle ne fonctionne pas.
elle efface les lignes dans le dossier de destination et ne colle pas les nouvelles lignes.
je souhaite conserver le dossier de destination comme historique donc coller à la prochaine ligne vide.
j'ai cherché et je pense que le problème viens de cette ligne :
"Range(Range("a4"), Range("m4").End(xlDown)).Clear"
quelqu'un aurait il une solution à me proposer?

merci d'avance

max
 

max 35

XLDnaute Nouveau
Re : macro : copier/coller les valeurs dans un autre classeur sous conditions

bonjours papou, le forum

Encore une fois c'est presque ça.
mais là ça enregistre les lignes si j'ai bien compris.
et j'ai besoin de les coller à la prochaine ligne vide dans un classeur au même format.
je pense ne pas avoir étais assez clair...
je vais essayer de faire mieux:
j'ai 2 classeurs de même format.(je n'en ai fourni qu'un en pièce jointe car se sont les même à la base)
1 (A source) qui traite les commandes clients donc à chaque commandes j'aurai des vitrages à commander.
1 (B réception) qui réceptionne chaque commande à la prochaine ligne vide pour gérer la commande globale des vitrage au fournisseur.
Donc je souhaite copier dans A les ligne avec "oui" et coller dans B à la prochaine ligne vide.

merci

max
 

Paritec

XLDnaute Barbatruc
Re : macro : copier/coller les valeurs dans un autre classeur sous conditions

Re Max35 le forum
Bref maintenant j'ai compris alors le fichier sera dans le même dossier que celui de départ?? les fichiers s'appellent comment ???
mais je serais curieux de voir ton fichier de destination car tu veux les lignes avec oui et c'est quoi que je t'ai fait ????
Exactement cela, sauf que moi j'ai appelé le classeur Archives et la date au format yyyy mm dd
Maintenant tu fais tes deux exemples avec les noms de fichiers réels, tu les mets dans un dossier, tu compresses le dossier en .zip et tu le joins au message et avec cela on va travailler.
à te relire
Papou:eek:
 
Dernière édition:

max 35

XLDnaute Nouveau
Re : macro : copier/coller les valeurs dans un autre classeur sous conditions

bonjours papou, le forum

voila j'ai préparé les 2 fichiers.
le fichier "chiffrage auto" est le fichier source.
le fichier "commandes de vitrages auto" est le fichier de destination.
bonne réception et merci du temps que vous me consacré.

max
 

Pièces jointes

  • chiffrage auto.xlsx
    44 KB · Affichages: 66
  • commandes de vitrages auto.xlsm
    75.7 KB · Affichages: 56

Paritec

XLDnaute Barbatruc
Re : macro : copier/coller les valeurs dans un autre classeur sous conditions

Re Bonjour max35 le forum
bon alors c'est sur que l'on n'y serait pas arrivé sans avoir les fichiers
1) j'ai supprimé la ligne 1000 de la feuille saisie car pour trouver la dernière ligne en partant du bas tu m'expliqueras ???
en plus je ne vois pas à quoi elle peut bien servir cette ligne, bref tu dois le savoir tu modifieras
2) je suppose qu'il ne faut copier que les 12 colonnes de la feuille Chiffrage Auto, le oui ????
3) j'ai retiré la macro événementielle de la feuille Saisie dans le classeur Commande vitrage car si tu veux ajouter des données cela plante , normal
Si tu souhaites absolument garder cette macro événementielle, tu me le redis je ferai autrement.
4) maintenant avec ces ajouts, il faut je suppose retirer de la feuille Chiffrage Auto les lignes que l'on a copié dans Commande Vitrage ???
je ne l'ai pas encore fait, si oui tu me le rediras et je modifierai
a+
Papou:eek:
 

Pièces jointes

  • Max 35.zip
    98.8 KB · Affichages: 53
Dernière édition:

max 35

XLDnaute Nouveau
Re : macro : copier/coller les valeurs dans un autre classeur sous conditions

re bonjours

pour la ligne 1000,ce n'était qu'un repère...en attendant de trouver la dernière ligne vide en auto...
pour le nombre de colonne c'est bon.
par contre j'ai besoin de la macro événementielle de la feuille Saisie dans le classeur Commande vitrage.
je ne comprend pas pourquoi ça plante puisque cette macro n'agit que si je suis sur "soldé".
et quand les lignes sont transférées elles sont soit sur "en attente" ou "à commander".
il ne faut rien retiré de la feuille source.
pour moi c'est bon,si j'arrive à changer l'adresse de destination...(Z:\BUREAU ETUDE\#COMMANDE VITRAGES\commandes de vitrages auto.xlsm)

encore merci

max
 

max 35

XLDnaute Nouveau
Re : macro : copier/coller les valeurs dans un autre classeur sous conditions

re re bonjours

j'ai réussi à changer l'adresse de destination.
effectivement la macro événementielle plante.
j'en ai besoin pour figer un n° de facture(qui est un code variable à la base)sur les vitrages quand je commande à mes fournisseurs.
mais peut être peut on le faire autrement.
pour l'instant quand je passe ma commande les lignes concernées se transforme en "soldé".
c'est ensuite qu’intervient la macro événementielle pour figer le n° de facture quand "soldé".

merci

max
 

Paritec

XLDnaute Barbatruc
Re : macro : copier/coller les valeurs dans un autre classeur sous conditions

re Max 35 le forum
il ne faut rien retiré de la feuille source.
ce qui signifie que si tu cliques deux fois tu auras deux fois les oui dans commande vitrage !!! ????
si c'est bien pour toi c'est bien pour moi , mais je trouve cela trés con, gros risque d'erreur.
Z:\BUREAU ETUDE\#COMMANDE VITRAGES\commandes de vitrages auto.xlsm)
bah oui c'est facile tu changes dans la macro

Maintenant pour la macro dans la feuille tu n'as pas tout compris je pense
cette macro n'agit que si je suis sur "soldé".
Non Non et renon, cette macro est une macro événementielle, je te l'ai déjà écrit au moins trois fois!!!!
cette macro se lance des que tu changes n'importe quoi dans la feuille c'est une worksheet_change
mais si tu veux la conserver pas de souci pour moi, mais là, la macro il faut la mettre dans commande Vitrage et non dans chiffrage Auto et importer, dans ce cas il faut le chemin complet de chiffrage auto ???
dans l'attente de ta décision
a+
Papou:eek:
 

Discussions similaires

Statistiques des forums

Discussions
312 555
Messages
2 089 562
Membres
104 214
dernier inscrit
palp