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

Transfert de lignes automatique

  • Initiateur de la discussion Initiateur de la discussion Mers
  • Date de début Date de début

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 !

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

Dernière édition:
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

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
 
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+
 
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+
 
- 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
24
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…