Bonjour,
je recherche depuis un certains temps à faire en sorte que ma colonne B de ma feuille entrainements reste sur ma feuille entrainement ceci a fin d'éviter de la recopier a chaque archivage de mes lignes j'ai donc trouvé ce code:

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
26
27
28
Sub Reset_Ligne()
Dim c As Range, cDest As Range
 
  Application.ScreenUpdating = False
  With ThisWorkbook
    'cDest: La celllule de destination: première cellule vide de la colonne A de Archivage
   With .Worksheets("Archivage")
      Set cDest = .Cells(.Rows.Count, "A").End(xlUp)(2)
    End With
    With .Worksheets("entrainements")
      'on cherche LA CELLULE contenant x en colonne V de Feuille Planning
     Set c = .Range("D:D").Find("x", LookIn:=xlValues, lookat:=xlWhole)
      If Not c Is Nothing Then
        With c.EntireRow
          'On copie toute la ligne trouvée vers cDest
         .Copy cDest
          'on supprime la ligne trouvée de Feuil1
       .Delete
         'cDest.Offset(1) = ""  ' Juste après le x
        End With
        Set c = Nothing
      End If
      'on vide notre variable cDest
     Set cDest = Nothing
    End With
 
  End With
End Sub
qui me convient pour archiver mais ayant que très peut de connaissance en VBA je n'arrive pas à faire en sorte que ma colonne B ne s’éfface pas avec le reste de la ligne
mes besoin sont que :
à partir de la ligne A2 lorsque je clique sur mon bouton archivé les lignes ayant le X en D soit archivé, à la seul différence que ma colonne B (les noms) et C (les prénoms), soit eux juste copier le reste de mes lignes A étant lui supprimé et mis en archive.
Besoin de vos lumière car les miennes ont un dysfonctionnement