VBA copier coller de Collonne selon critère

Bens7

XLDnaute Impliqué
Bonjour a tous !
Je vous met en peices jointes ca a l'air simple met ca fait une heure je cherche sans reponsse !
Je cherche a copier certaine collone d'une autre feuille suivant un critère dans une autre .
voila si vous pouvez me donner un coup de main ! je vous remercie
 

Pièces jointes

  • Copie de Collone.xlsm
    23.7 KB · Affichages: 38
  • Copie de Collone.xlsm
    23.7 KB · Affichages: 35
  • Copie de Collone.xlsm
    23.7 KB · Affichages: 37

Bens7

XLDnaute Impliqué
Re : VBA copier coller de Collonne selon critère

la ACTIF Q (apres filtre) dans Transfere A
la ACTIF AA (apres filtre) dans Transfere B
j'ai reussi a faire un debut de code pour la Transfere A mais le probleme c'est que la recherche est en format date ne prend pas :

Code:
Private Sub CommandButton1_Click()
Dim DerLigne As Long
Sheets("ACTIF").Range("AB1:AB1100").AutoFilter 28, [b1].Value
Sheets("ACTIF").Range("Q2:Q1100").Copy
Sheets("Transfere").Activate
DerLigne = Range("C65536").End(xlUp).Row + 2
Range("a" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
End Sub
 

Bens7

XLDnaute Impliqué
Re : VBA copier coller de Collonne selon critère

J;ai tout essayer meme:
Code:
Sheets("ACTIF").Range("AB1:AB1100").AutoFilter Field:=28, Criteria1:=[b1] & Format(Date, "dd/mm/yyyy"), Operator:=xlAnd

Impossible de filtrer sur une date par apport a la cellule B1 de transfere
 

Bens7

XLDnaute Impliqué
Re : VBA copier coller de Collonne selon critère

Je vous remet le fichier en pieces joines j;ai un peu avancer mais ya un probleme c'est qu'il cherche la date du 0701/13 au lieu du 01/07/13

Helppppp :mad:
 

Pièces jointes

  • Copie de Collone.xlsm
    30.7 KB · Affichages: 30
  • Copie de Collone.xlsm
    30.7 KB · Affichages: 31
  • Copie de Collone.xlsm
    30.7 KB · Affichages: 24

Bens7

XLDnaute Impliqué
Re : VBA copier coller de Collonne selon critère

Nan en fait j'ai essayer avec le bouton "Bouton" de faire avec l'enregistreur de MAcro j'arrive a un resultat mais le filtre je choisi 01/07/13 il met dans le macro 7/1/13 donc d'apres ce ue j;ai compris il cherche le format Anglais ( je precise je suis en Qwerty) donc panneau configuration en Anglais .

EN gros je veux veux juste copier:
ACTIF Q si dans ACTIF AB = la date de Transfere C1

et la coller dans Transfere A
peut etre sans filtre c'est mieux ...
 

Bens7

XLDnaute Impliqué
Re : VBA copier coller de Collonne selon critère

Yaloo genial com d'hab !
Par contre j'ai un soucci le but de fichier est de pouvoir transferer les documents vers d'autre dossier (qui sont en reseaux chez moi)

La structure des fichiers comme tu la deja vu c'est exemple pour le client : 15619
on a :
15619.jpg (..../CONTRAT/ )
15619 (2).jpg >>> defois pas tous les clients on un (2).jpg (...../CONTRAT/)
15619.xlsx (...../FACTURE/)
15619.pdf (....../FACTURE/PDF/)

j'ai mis le fichier en piece jointe le soucci c'est que pas tous les clients on un (2).jpg donc ya un bug fichier introuvable et le macro s'arette je voudrais que le macro passe outre

Merci !
 

Pièces jointes

  • Transfere #3.xlsm
    34.1 KB · Affichages: 20

Bens7

XLDnaute Impliqué
Re : VBA copier coller de Collonne selon critère

Voici Yaloo avec ton code beaucoup plus propre (aufait un question : comment il sait que c'est dans la Feuil ACTIF qu'il faut chercher ya juste marque .Cells)
 

Pièces jointes

  • Transfere #4.xlsm
    29.2 KB · Affichages: 22
  • Transfere #4.xlsm
    29.2 KB · Affichages: 27
  • Transfere #4.xlsm
    29.2 KB · Affichages: 30

Bens7

XLDnaute Impliqué
Re : VBA copier coller de Collonne selon critère

desole ca marche pas :
exemple dossier FACTURE (source)
15616.xlsx
15617.xlsx
15618.xlsx
15619.xlsx
15620.xlsx

dossier FACTURE/PDF (source)
15616.pdf
15617.pdf
15618.pdf
15619.pdf
15620.pdf

dossier CONTRAT (source)
15616.jpg
15616 (2).jpg

15617.jpg
15618.jpg
15619.jpg
15620.jpg
et bah quand je regarde les dossier CIBLE ya que le client 15620 qui est bien transferer
voici le code actuel:
Code:
Sub Macro1()
'COPIE LES VALEURS SELON CRITERE
Dim i&, j&
j = 2
  With Feuil2
    For i = 2 To .[AB65536].End(xlUp).Row
      If .Cells(i, 28) = [E1] Then
        Cells(j, 1) = .Cells(i, 17)
        Cells(j, 2) = .Cells(i, 27)
        j = j + 1
      End If
    Next
  End With

'COPIE DU PDF
Dim Cel As Range, Copie As Boolean ' Dim pour tous les copies
For Each Cel In Range("B" & Rows.Count).End(xlUp)
  If Cel.Value <> "" Then
    FileCopy ActiveWorkbook.Path & "\Facture\PDF\" & Cells(Cel.Row, 2) & ".pdf", _
      Cells(Cel.Row, 3).Value & Cells(Cel.Row, 2) & ".pdf" 'FICHIER=2, CIBLE=3
    Copie = True
  End If
Next

'COPIE DU XLSX

For Each Cel In Range("B" & Rows.Count).End(xlUp)
  If Cel.Value <> "" Then
    FileCopy ActiveWorkbook.Path & "\Facture\" & Cells(Cel.Row, 2) & ".xlsx", _
      Cells(Cel.Row, 3).Value & Cells(Cel.Row, 2) & ".xlsx" 'FICHIER=2, CIBLE=3
    Copie = True
  End If
Next

'COPIE DU JPG

For Each Cel In Range("B" & Rows.Count).End(xlUp)
  If Cel.Value <> "" Then
    FileCopy ActiveWorkbook.Path & "\Contrat\" & Cells(Cel.Row, 2) & ".jpg", _
      Cells(Cel.Row, 4).Value & Cells(Cel.Row, 2) & ".jpg" 'FICHIER=2, CIBLE=3
    Copie = True
  End If
Next

'COPIE DU JPG (2)
On Error Resume Next
For Each Cel In Range("B" & Rows.Count).End(xlUp)
  If Cel.Value <> "" Then
    FileCopy ActiveWorkbook.Path & "\Contrat\" & Cells(Cel.Row, 2) & " (2).jpg", _
      Cells(Cel.Row, 4).Value & Cells(Cel.Row, 2) & " (2).jpg" 'FICHIER=2, CIBLE=3
    Copie = True
  End If
Next

    
    


If Copie = True Then MsgBox "Copie terminé"
End Sub
 
Dernière édition:

Discussions similaires

Réponses
6
Affichages
362

Statistiques des forums

Discussions
311 725
Messages
2 081 945
Membres
101 849
dernier inscrit
florentMIG