Couper Coller d'une ligne dans un autre classeur

Bonjour Mesdames Messieurs,

Je viens vers vous car cela fait maintenant un long moment que j'essaye de trouver une solution a mon problème sans même me rapprocher de la solution.

Je vous explique:

J'ai deux Classeurs.

Un "Raccordements" et un "Résiliations"

Vous trouverez en fichier joint une copie de ces deux Classeurs.

Je souhaiterai donc que lorsque que je remplis la date de résiliation (Colonne D) dans le classeur "Raccordements" la ligne se copie intégralement dans la 1ere ligne vide du classeur "Résiliations" et se supprime du classeur "Raccordements"

Je vous serais donc très reconnaissant si vous pouviez m'aider et vous souhaite à tous une agréable journée.

Cordialement.

Julien

29raccordements.xlsx (149.55 Ko)
23resiliations.xlsx (9.06 Ko)

Bonjour à toutes et à tous. Placez vos deux fichiers dans un même dossier et supprimez la fusion des cellules dans les entêtes. C'est préférable de n'avoir qu'une seule ligne d'entête en ligne 1.

Sub tsf()
Feuil1.[A1].AutoFilter 'a activer ou non selon si le filtre est actif ou non
    Set F = Workbooks.Open(ThisWorkbook.Path & "\Résiliations.xlsx")
    a = 2
    With Feuil1
        While .Cells(a, 1) <> ""
            If IsDate(.Cells(a, 4)) Then
                Range(.Cells(a, 1), .Cells(a, 14)).Cut F.Sheets(1).Cells(Rows.Count, 1).End(xlUp)(2)
            End If
            a = a + 1
        Wend
        F.Close True
        ThisWorkbook.Activate
        Sheets(1).Cells.SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp
    End With
Feuil1.Range("A2:M2").AutoFilter ' activez ou desactivez selon les besoins
End Sub

Bonjour et merci de votre réponse rapide.

je viens d'essayer la mise en place mais le programme me remonte une erreur 1004. (La Méthode AutoFilter de la classe Range a échoué)

Ai je fait une erreur?

Merci

Bonjour,

J'avance petit a petit.

Désormais il me remonte des cellules introuvablent et me surligne la ligne :

Sheets(1).Cells.SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp

Merci

Je ne peux dire si vous faites une erreur ou non. Je ne vois pas sur quel fichier vous travaillez ni ce que vous faite.

En apprence il faut desactivé le filtre auto pour pouvoir supprimer des lignes donc c'est ce que j'ai voulu coder en début de macro et en fin de macro, l'activer ou le desactiver le cas échéant.

Avant de poster ma macro je l'ai testé, donc si vous avez des erreurs c'est qu'il existe des différences entre votre fichier présenté ici et celui sur lequel vous travaillez , et dans se cas, seul vous restez maître à bord

Bonjour,

Je viens de retelecharger les exemples que je vous avez fournis et cela ne fonctionne pas.

je pense donc que le problème vient de la mise en application.

J'ai mis dans un seul et même dossier mon fichier Raccordements.xlsx et Résiliations.xlsx

Dans ce même dossier j'ai crée un fichier "SystemFichier.xlsm" dans lequel j'ai enregistré ma macro dans VBA.

Lors de l’exécution Erreur 1004 pas de cellule correspondante et quand je clique sur débogage il me surligne la ligne

Sheets(1).Cells.SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp

Essayez avec ceux-ci

37nouveau-dossier.zip (21.00 Ko)

Bonjour,

cela fonctionne parfaitement. le problème venait de cellule vide et du format date non respectés.

Mon dernier problème est qu'en définitif mes fichiers ne sont pas en local sur ma machine mais sur un serveur.

J'ai donc modifier votre fichier :

La ligne : Set F = Workbooks.Open(ThisWorkbook.Path & "\Résiliations.xlsx")

est devenue : Set F = Workbooks.Open(ThisWorkbook.Path & "\192.168.1.2\Documents télésurveillance\documents\Station\Excel\Raccordement - Résiliation\Résiliations.xlsx")

le problème est qu'il ne trouve pas mon fichier alors que je suis sur de son emplacement.

Est possible de le faire fonctionner sur un serveur ou doit on le faire uniquement en local.

Merci encore pour toute votre aide.

Bonne journée

il faut supprimer "ThisWorkbook.Path & " car se terme signifie "le repertoire ou se situe le fichier sur lequel je travaille" Donc vous vous avez collé deux repertoires différents dans une même instruction. du genre c:\Users\Desktop\Dossier\192.168.1.2\Documents télésurveillance\documents\Station\Excel\Raccordement - Résiliation\Résiliations.xlsx") et nous sommes d'accord que ce n'est pas le réelle chemin puisque votre document est sur un lecteur reseau.

Donc supprimer thisworkbook.path &

C'est quelle type de télésurveillance sur laquelle vous travaillez ? Sécurité intrusion ou télésurveillance de machine ?

Rechercher des sujets similaires à "couper coller ligne classeur"