Transfert de lignes automatique

Mers

XLDnaute Junior
Bonjour à tous,

J'ai un document en partage sur le réseau où plusieurs requérants viennent ajouter des demandes de livraison en ajoutant une ligne. Une fois leur demande complétée, une date est ajoutée dans une cellule donnée.

J'aimerais avoir une macro qui passe en revue toutes les demandes (lignes) en vérifiant si une date apparaît dans la colonne "complétée" et si c'est le cas, sélectionner la ligne au complet, et faire un Couper/Coller dans un autre onglet (Archive).

C'est possible?

Voir exemple ci-joint.

Merci d'avance.

m.
 

Pièces jointes

  • EXEMPLE 1.xlsx
    11.4 KB · Affichages: 55
  • EXEMPLE 1.xlsx
    11.4 KB · Affichages: 64
  • EXEMPLE 1.xlsx
    11.4 KB · Affichages: 51
Dernière édition:

job75

XLDnaute Barbatruc
Re : Transfert de lignes automatique

Bonsoir Mers,

Pas encore de réponse, peut-être parce que c'est un sujet souvent traité sur le forum...

Voyez cette macro dans le fichier joint (Alt+F11) :

Code:
Sub Transfert()
'Feuil1 et Feuil2 sont les CodeNames des feuilles
Dim plage As Range
Set plage = Feuil1.Range("C2", Feuil1.[C65536].End(xlUp))
If plage.Row = 1 Then Exit Sub 'sécurité
On Error Resume Next
Set plage = plage.SpecialCells(xlCellTypeConstants).EntireRow
If Err = 0 Then
  plage.Copy Feuil2.Rows(Feuil2.[C65536].End(xlUp).Row + 1)
  plage.Delete
  Feuil2.Activate 'facultatif
End If
End Sub
J'ai mis des dates en colonne C parce que vous parliez de dates, mais ça n'a pas d'importance.

A+
 

Pièces jointes

  • Transfert(1).xls
    54.5 KB · Affichages: 55
  • Transfert(1).xls
    54.5 KB · Affichages: 62
  • Transfert(1).xls
    54.5 KB · Affichages: 60

Mers

XLDnaute Junior
Re : Transfert de lignes automatique

J'ai appliqué la solution mais elle me cause un autre problème. En copiant la ligne au complet, je me retrouve avec un fichier qui augmente de volume au cube! Comme si les cellules vides copiées était considérées comme si elles contenaient une valeur.

Qu'est-ce que je dois modifier à la formule suivante pour que ça ne coupe que les colonne A à T et que ça fasse un collé "Insert" en déplaçant les cellule vers le bas?


Code:
Sub Transfert()
'Feuil1 et Feuil2 sont les CodeNames des feuilles
Dim plage As Range
Set plage = Feuil1.Range("C2", Feuil1.[C65536].End(xlUp))
If plage.Row = 1 Then Exit Sub 'sécurité
On Error Resume Next
Set plage = plage.SpecialCells(xlCellTypeConstants).EntireRow
If Err = 0 Then
  plage.Copy Feuil2.Rows(Feuil2.[C65536].End(xlUp).Row + 1)
  plage.Delete
  Feuil2.Activate 'facultatif
End If
End Sub
 

job75

XLDnaute Barbatruc
Re : Transfert de lignes automatique

Bonjour Mers, le forum,

Le copier-coller de lignes entières ne pose normalement pas de problème.

Sauf peut-être si le fichier est vérolé ou s'il y a des objets qui sont copiés-collés en même temps.

Déposez sur le fil le fichier qui vous pose problème.

A+
 

job75

XLDnaute Barbatruc
Re : Transfert de lignes automatique

Bonjour Mers, le forum,

On peut toujours limiter la copie aux colonnes A:T :

Code:
Sub Transfert()
'Feuil1 et Feuil2 sont les CodeNames des feuilles
Dim plage As Range
Set plage = Feuil1.Range("C2", Feuil1.[C65536].End(xlUp))
If plage.Row = 1 Then Exit Sub 'sécurité
On Error Resume Next
Set plage = Intersect([A:T], plage.SpecialCells(xlCellTypeConstants).EntireRow)
If Err = 0 Then
  plage.Copy Feuil2.Cells(Feuil2.[C65536].End(xlUp).Row + 1, 1)
  plage.Delete xlUp
  Feuil2.Activate 'facultatif
End If
End Sub
Mais déposez quand même votre fichier comme demandé au post précédent.

A+
 

Discussions similaires