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

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:
 

Paritec

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

Re max 35 le forum
bon alors voilà pour importer du fichier Commande Vitrage auto V2 tu ouvres et tu cliques sur le bouton
a+
Papou:eek:
 

Pièces jointes

  • Max 35 V2.zip
    95.7 KB · Affichages: 37

max 35

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

bonjours papou, le forum

petite précision : je n'ai aucune formation en VBA donc ce langage m'est inconnu...je découvre en cherchant...(donc n'hésite pas sur les commentaires)
je suis contient du risque d'erreur en conservant la source mais je n'ai pas le choix.
c'est un projet sur lequel je bosse depuis 2 ans qui lie plusieurs logiciels que j'ai paramétrés.(un genre de mini ERP)
je travaille donc avec bcp de contraintes.
maintenant j'ai bien compris comment fonctionnait une macro événementielle.
l'importation à partir du chiffrage auto est impossible car c'est un modèle qui est utilisé et sauvegardé sous un autre nom pour chacune de nos commandes.
ce qui m'arrangerais serais d'ajouter cette macro événementielle(B) à la suite de ma macro pour passer mes commandes(A) mais je n'ai pas réussi.

MACRO A:

Sub test_impr_sauv_pdf()
'
' test_impr_sauv_pdf Macro
'

'
Sheets("GOUDE GLASS").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"Z:\BUREAU ETUDE\#COMMANDE VITRAGES\COMMANDE VITRAGE AUTO\" & Range("J2") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Sheets("GLASSOLUTIONS").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"Z:\BUREAU ETUDE\#COMMANDE VITRAGES\COMMANDE VITRAGE AUTO\" & Range("J2") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Sheets("INNOVERRE").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"Z:\BUREAU ETUDE\#COMMANDE VITRAGES\COMMANDE VITRAGE AUTO\" & Range("J2") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Sheets("saisie").Select
Range("a3:a" & Range("a65536").End(xlUp).Row).Select
Selection.Replace What:="à commander", Replacement:="soldé", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub

MACRO B:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("a3:a" & Range("a65536").End(xlUp).Row)) Is Nothing Then
If Target = "soldé" Then Target.Offset(, 15).Value = Target.Offset(, 15).Value
End If
End Sub


est ce possible?

merci

max
 
Dernière édition:

Paritec

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

Re Bonjour Max 35 le forum
voilà qui devrait faire l'affaire, à toi de tester et tu me redis
a+
Papou:eek:

VB:
Sub test_impr_sauv_pdf()
    Sheets("GOUDE GLASS").Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
     "Z:\BUREAU ETUDE\#COMMANDE VITRAGES\COMMANDE VITRAGE AUTO\" & Range("J2") & ".pdf" _
      , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
      :=False, OpenAfterPublish:=False
    Sheets("GLASSOLUTIONS").Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
      "Z:\BUREAU ETUDE\#COMMANDE VITRAGES\COMMANDE VITRAGE AUTO\" & Range("J2") & ".pdf" _
     , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
      :=False, OpenAfterPublish:=False
    Sheets("INNOVERRE").Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
      "Z:\BUREAU ETUDE\#COMMANDE VITRAGES\COMMANDE VITRAGE AUTO\" & Range("J2") & ".pdf" _
     , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
      :=False, OpenAfterPublish:=False
    Sheets("saisie").Select
    Range("a3:a" & Range("a65536").End(xlUp).Row).Select
    Selection.Replace What:="à commander", Replacement:="soldé", LookAt:= _
                      xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                      ReplaceFormat:=False
    For i = 3 To Range("a65536").End(xlUp).Row
        If Cells(i, 1) = "soldé" Then Cells(i,16).Value = Cells(i,16).Value
    Next i
End Sub
 
Dernière édition:

max 35

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

bonjour

la macro plante à la fin.
le débogueur indique une erreur dans la ligne:
If Cells(i, 1) = "soldé" Then Cells.Offset(, 15).Value = Cells.Offset(, 15).Value
et la formule de la colonne 16 n'est pas remplacée par sa valeur.
sinon le reste fonctionne

merci

max
 

Paritec

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

Re Max le forum
oui j'avais pas relu mais STP essaye cela
a+
papou:eek:

VB:
Sub test_impr_sauv_pdf()
    Sheets("GOUDE GLASS").Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
     "Z:\BUREAU ETUDE\#COMMANDE VITRAGES\COMMANDE VITRAGE AUTO\" & Range("J2") & ".pdf" _
      , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
      :=False, OpenAfterPublish:=False
    Sheets("GLASSOLUTIONS").Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
      "Z:\BUREAU ETUDE\#COMMANDE VITRAGES\COMMANDE VITRAGE AUTO\" & Range("J2") & ".pdf" _
     , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
      :=False, OpenAfterPublish:=False
    Sheets("INNOVERRE").Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
      "Z:\BUREAU ETUDE\#COMMANDE VITRAGES\COMMANDE VITRAGE AUTO\" & Range("J2") & ".pdf" _
     , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
      :=False, OpenAfterPublish:=False
    Sheets("saisie").Select
    Range("a3:a" & Range("a65536").End(xlUp).Row).Select
    Selection.Replace What:="à commander", Replacement:="soldé", LookAt:= _
                      xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                      ReplaceFormat:=False
    For i = 3 To Range("a65536").End(xlUp).Row
        If Cells(i, 1) = "soldé" Then Cells(i, 16).Value = Cells(i, 16).Value
    Next i
End Sub
 
Dernière édition:

Discussions similaires

Réponses
9
Affichages
112

Statistiques des forums

Discussions
312 755
Messages
2 091 708
Membres
105 053
dernier inscrit
HAMOUD