copies des données selon des conditions

sirine

XLDnaute Nouveau
bonjour le forum,

J'espère que je trouverai une réponse de vous parce que là ça fait deux semaines e je travaille sur le même problème.
Alors mon travail consiste à copier des lignes d'un fichier excel dans un autre( qui je dois le créer au fur et à mesure de l’exécution) le problème c'est qu'il faut copier selon des critères ("date") il faut que je copie les derniers ligne ou la date sont égaux mais le problème ce que il ya des lignes ou on trouve pas de date et qu'il faut le copier aussi. Je sais pas quoi faire??

voila le code mais ça marche pas :
Set Newbook = Application.Workbooks.Add
With Newbook
.Worksheets(1).Name = "etiquettes"
End With



With ThisWorkbook
ThisWorkbook.Worksheets("cablage").Activate
DerLg = Worksheets("cablage").Cells(Worksheets("cablage").Rows.Count, 1).End(xlUp).Row
DerCl = Worksheets("cablage").Cells(Worksheets("cablage").Columns.Count, 1).End(xlUp).Column
End With
'Newbook.Worksheets("etiquettes").Cells(k, 1).Delete

i = DerLg
j = i - 1
k = 1
Do

If (IsDate(ThisWorkbook.Worksheets("cablage").Cells(i, 24).Value) = True) Then



ThisWorkbook.Worksheets("cablage").Rows(i).EntireRow.Copy Newbook.Worksheets("etiquettes").Range("A" & Rows.Count).End(xlUp).Offset(1)


i = i - 1

For k = 1 To i

cell(k) = ThisWorkbook.Worksheets("cablage").Cells(i, 24).Value


Next k

Else
ThisWorkbook.Worksheets("cablage").Rows(i).EntireRow.Copy Newbook.Worksheets("etiquettes").Range("A" & Rows.Count).End(xlUp).Offset(1)

i = i - 1

End If


Loop Until (cell(1) <> cell(k))
 
Dernière édition:

sirine

XLDnaute Nouveau
Re : copies des données selon des conditions

comme je te dis j'ai q"'un seul critère la date et voilà presque deux semaines pour afficher les derniers lignes apart dans un autre fichier pour remplir le 'userform' après mais voilà j'ai pas réussi.
 

camarchepas

XLDnaute Barbatruc
Re : copies des données selon des conditions

Si le fichier de sortie est toujours le même :
Les lignes vides précédentes ( en jaunes ) ont déjà été copiées dans le fichier de sortie ?
si oui , l'on pourrait dire copier toutes les lignes avec une date = date recherchée ou date vide et pas dans le classeur de sortie .
 

sirine

XLDnaute Nouveau
Re : copies des données selon des conditions

oui les lignes (dont la couleur est jaune) sont copiés à leurs date mais le fichier de sortie je l'enregistre pas donc pour chaque opération je fais un macro pour afficher seulement la dernière et j'ai pas besoin des autres et apres si je veux l’enregistrer ou le supprimer. tu peux exécuter l'exemple que je te donne ou tu trouves un userform et tu cliques sur lebouton24 c'est celle qui va afficher mon fichier de sortie qui est "renouvelable"
 

sirine

XLDnaute Nouveau
Re : copies des données selon des conditions

slt "camarchepas",

voila j'ai reussi de trouver la solution (je choisis comme critère la couleur du fond et ça marche bien :) ).
Mais j'ai un petit souci en fait je veux copier les noms du cable(dans l'exemple la colonne 16) mais je veux pas qu'un cable existe deux fois dans dans le tableau s'il existe on fais pas la copie sinon (càd existe pour la première fois) je fais la copie.

merci pour votre retour,
 

camarchepas

XLDnaute Barbatruc
Re : copies des données selon des conditions

Bonjour ,
Je crois que comme cela ça pourrait fonctionner :
en utilisant la commande Find et en cherchant donc la valeur de la cellule de la colonne 16 de la ligne en cours dans la colonne 16 du classeur de sortie
Code:
Dim Trouve As Range

'Me semble t-il de mémoire
Set Trouve = newbook.Sheets("Etiquette").Columns(16).Find(Cells(LigneEnCours,16), lookat:=xlWhole)
If Trouve Is Nothing Then 'Copie de la ligne
'sinon on continu
 

sirine

XLDnaute Nouveau
Re : copies des données selon des conditions

bonjour camarchepas,
Merci pour hier pour la formule mais je fais aujourd'hui quelques testes et je trouve des erreurs donc la formule ne marche pas.
En fait , j'ai déjà copier les lignes de la derniere opération dans un fichier ou le feuil "etiquettes" et comme vous savez j'ai un autre fichier excel ou le feuil"cablage" qui contient tout les cables alors je veux comparer chaque cables dans "etiquettes" par ceux en "cablage" si je trouve 'càd (not nothing) donc je fais delete du ligne du feuil "etiquettes.
vous pouvez m'aider svp,
merci pour votre retour :)
 

Discussions similaires

Réponses
6
Affichages
286

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 979
dernier inscrit
bderradji