Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro copier coller selon critère

toline

XLDnaute Nouveau
Bonjour à tous,

Mon fichier comporte 3 onglets : un onglet Data, un onglet MODULE2 et un onglet IMP_M2.
Je suis actuellement en train de créer une macro pour copier des lignes de l'onglet Data vers l'onglet IMP_M2 uniquement si la valeur de la colonne EK de l'onglet Data est égale à une autre valeur (cellule D1 de mon onglet MODULE2).

J'ai donc crée le code suivant (je débute )
Code:
Sub IMP_M2()

'Stop rafraichissement ecran
Application.ScreenUpdating = False

'Définition de la dernière ligne de l'onglet Data
Dim DernLigne As Long
DernLigne = Worksheets("Data").Range("A" & Rows.Count).End(xlUp).Row

'Je définis ma valeur à chercher
ValCherch = Sheets("MODULE2").Range("D1").Value

'Je crée ma boucle de copie : si la valeur de la cellule (i,140) est égale à ValCherch alors copier la ligne i dans l'onglet IMP_M2
Dim i As Integer
Dim k As Integer
k = 2
For i = 1 To DernLigne
If Worksheets("Data").Cells(i, 140).Value = ValCherch Then
Sheets("Data").Range("A" & i & ":EK" & i).Select
Selection.Copy
Worksheets("IMP_M2").Activate
Worksheets("IMP_M2").Cells(k, 1).Select
ActiveSheet.Paste
k = k + 1
Worksheets("Data").Activate
End If
Next i

'Rafraichissement ecran
Application.ScreenUpdating = True
End Sub

J'arrive à lancer la macro sans message d'erreur (ce qui est déjà une petite victoire pour moi!).
Néanmoins, elle ne me rappatrie pas de données alors que je devrais avoir 12 lignes dans l'onglet IMP_M2.

Quelqu'un peut-il m'aider à identifier ce qui pose problème?

Un grand merci à vous tous.
 

Pièces jointes

  • Test macro.xlsm
    899.2 KB · Affichages: 45

toline

XLDnaute Nouveau
Bonjour,

Merci beaucou pour le retour! La macro fonctionne : j'aurais toutefois plusieurs questions pour être sûre de bien comprendre la logique
  • Pourquoi définir f1 & f2? Pour une simplification?
  • A quoi correspond le dim T1 puisqu'on ne s'en ressert pas après?
  • A quoi correspondent les champs calculés (D3 à D60) dans l'onglet MODULE2? Je n'ai pas l'impression qu'on les sollicite dans la macro et du coup ça m'intrigue fortement.
 

gosselien

XLDnaute Barbatruc
 

toline

XLDnaute Nouveau
J'ai encore une petite question sur le code. (j'essaye de bien comprendre pour refaire moi-même). Je vois le "Plage.Copy Destination:=Desti" mais je ne vois pas de Paste. Ca veut dire qu'il est compris dans cette ligne de code?

Merci!
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…