Copier des lignes d'une feuille a une autre en fonction du contenu apha d'une cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

PASCAL84810

XLDnaute Junior
Bonjour,

je dois traiter un EXPORT d'un ERP du "carnet de commande" soit de 6000 à 9000 lignes sur 113 colonnes.
Grâce à une exploration des forums et aux connaissances des collègues. je suis arrivé grâce aux macros, à traiter et synthétiser par des sélections de colonnes et de lignes en fonction de date de livraison (> ou <), de date de réapprovisionnement, de disponibilité des produits sur nos différents sites , etc, à recopier sur les feuilles du classeur uniquement ce que je dois traiter (cde en retard, rupture, etc...)

exemple :
Sheets("Base de donnée").Activate


If Cells(i, 18).Value >= a And Cells(i, 18).Value <= b Then

If Cells(i, 112).Value = "Cde compl" And Cells(i, 10).Value > Cells(i, 21).Value And Cells(i, 23).Value = "OK" And Cells(i, 15).Value <> "Ordre de" Then

j = j + 1
Cells(i, 3).Select
Selection.Copy
Sheets("Blocage cmde complète").Activate
Cells(j, 1).Select
Selection.PasteSpecial
Sheets("Base de donnée").Activate
Cells(i, 18).Select
Selection.Copy
Sheets("Blocage cmde complète").Activate
Cells(j, 2).Select
Selection.PasteSpecial


mais maintenant mon problème , c' est de recopier les cellules qui commencent par "PRS" ou "SAV"
pour copier les commandes par catégorie (pré saison, service après vente,...)
exemple PRS130000124

J'ai écrit :

Sub COPIEPRS()
Sheets("feuil1").Activate

For i = Cells(1, 1).CurrentRegion.Rows.Count To 1 Step -1
A = Mid(i, 1, 3)

If Cells(i, 1).Value = A = "PRS" Then Cells(i, 1).EntireRow.Copy


Sheets("FEUIL2").Activate
Cells(i, 1).Select
ActiveCell.EntireRow.PasteSpecial
Next
End Sub

mais cela ne fonctionne pas (cela me copie du vba dans une fenêtre texte).

pouvez vous m'aider?
merci
 
Re : Copier des lignes d'une feuille a une autre en fonction du contenu apha d'une ce

Bonsoir Pascal,

Avec ceci :
VB:
Sub Copie_ligne()
j = 1
For i = [A65000].End(xlUp).Row To 2 Step -1
  If Cells(i, 1) Like "PRS*" Then
    Feuil1.Rows(i).Copy Feuil2.Rows(j)
    j = j + 1
  End If
Next
End Sub

A te relire

Martial

PS : si ce n'est pas ça, mets un fichier, simple et sans données confidentielles, pour expliquer ton besoin.
 
Re : Copier des lignes d'une feuille a une autre en fonction du contenu apha d'une ce

merci,

cela marche très bien, je l'ai adapté comme suit

Sub Copie_ligne()
Sheets("base de donnée").Activate
j = 1
For i = [A65000].End(xlUp).Row To 2 Step -1
If Cells(i, 3) Like "PRS*" Then
Sheets("Base de donnée").Rows(i).Copy Sheets("PRS").Rows(j)
j = j + 1
End If
Next
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
507
Retour