Bonjour tout le monde.

Je suis nouveau sur ce forum, je suis ravi de vous connaitre.
Voila mon problème, j'ai cherché longtemps pour trouver une manière de copier une ligne d'une feuille à une autre feuille du même classeur selon les critères (Actif, Inactif), donc quand je met Actif, la ligne se copie, si je met inactif la ligne ne se copie pas; j'ai bien trouvé des lignes de code VBA faites par Willy, sauf que si j'insère une colonne ou je déplace la colonne, ça ne marche plus.
Y a t-il un moyen qu'il copie selon le titre de la colonne et non la position de la cellule.
J'espère que ma question est compréhensible, je suis vraiment un débutant.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Private Sub Worksheet_Activate()
'fait par willy
 
Sheets("Commande").Range("A7:H6845").ClearContents
 
li = Sheets("Données").Range("B7").End(xlDown).Row
If Sheets("Données").Range("B7") = "" Then MsgBox "Pas de données saisies!", vbCritical: Exit Sub
If Sheets("Données").Range("B8") = "" Then li = 7
ligne = 7
 
For i = 7 To li
    If UCase(Sheets("Données").Range("A" & i)) = "X" Then
    Cells(ligne, 1) = Sheets("Données").Cells(i, 2)
    Cells(ligne, 2) = Sheets("Données").Cells(i, 3)
    Cells(ligne, 3) = Sheets("Données").Cells(i, 4)
    Cells(ligne, 4) = Sheets("Données").Cells(i, 5)
    FormulaR1C1 = "=RC[-1]*RC[-2]"
ligne = ligne + 1
End If
 
Next
Range("D7").Select
 
 
End Sub