Ajouter une date au copier-coller en A

Bonjour cher Forum,

Mes recherches m'ont conduit à une procédure pour reporter une ligne modifiée dans un autre onglet.

J'aimerais intégrer au code l'ajout de la date en A dans la feuille de destination lorsque la macro est activée.

Worksheet

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A3:Z113")) Is Nothing Then
'ici le nom de la macro précéde de Call
Copie
End If
End Sub

Module

Sub Copie()
    Dim shS As Worksheet 'Source
    Dim shD As Worksheet 'destination
    Dim iDest As Integer 'Ligne de destination dans feuille
    Set shS = ThisWorkbook.Worksheets("AccèsLogis_all") ' Feuille source
    Set shD = ThisWorkbook.Worksheets("Engagement") ' Feuille destination
    On Error Resume Next 'Pour éviter les messages d'erreur sur recherche infructueuse
    iDest = Application.WorksheetFunction.Match(rCh, shD.Range("A:A"), 0)
    On Error GoTo 0
    If iDest = 0 Then 'Cas ou pas trouvé on rajoute une ligne
        iDest = shD.Range("B65535").End(xlUp).Row + 1
    End If
    shS.Range("A3:Z3").Copy shD.Cells(iDest, "B")
End Sub

Merci

Bonjour,

'... et à la fin :
    shS.Range("A3:Z3").Copy shD.Cells(iDest, 2)
    shD.Cells((iDest, 1) = Date
End Sub

A+

Bonjour galopin01,

Merci pour la portion qui manquait au code.

Juste signaler qu'il y a une parenthèse en trop dans le shD.Cells(iDest, 1) = Date.

En réfléchissant au développement de cet outil suivi, je demande s'il ne serait pas possible d'ajuster le code pour avoir le changement de statut d'un dossier. Exemple si le dossier ACM-00002 passe du statut AP à EC, on aurait dans le report un colonne de plus qui spécifie le avant et l'après.

Bref, je me mets à l'étude de cette possibilité.

Merci encore

Bonjour galopin01,

Je suis confondu. Tout beigne dans la version test, mais quand j'applique le code dans le fichier original rien ne va plus.

Après quelques tests, les modifications ne se répliquent que sur la première ligne de la feuille de destination, et il semble il y avoir un conflit entre des plages de noms (Feuille arrondissements) et la feuille de destination. Au moment de la modification, il y a un message qui dit qu'il y a une formule ou un nom existe déjà dans la feuille de destination...

Bref, pourquoi ce bordel soudain?

Merci

Bonjour,

À force de relire le code, et essayer de comprendre ce qui cloche, je crois que le problème vient de la ligne shS.Range("A3:Z3").Copy shD.Cells(iDest, 2). Peut-être que c'est toute la procédure qui n'est pas bonne!

Bref, si j'ai bien compris, la code dit : copie la ligne 3 de la feuille source sur la feuille de destination.

Il se trouve que si je fais une modification sur la ligne 5 de la feuille source, ça copie bien vers la feuille de destination, mais pas la modification de la ligne 5... seulement la ligne 3!

Merci de m'aider sur ce coup.

A+

Bonjour,

Finalement, j'étais dans l'erreur de croire que le code exécutait mon besoin, pour m’apercevoir du contraire.

Ce que je souhaite est :

Si l’info entre les colonnes A:Z de la feuille source change, copie la ligne sur laquelle il y a un changement, et colle la copie sur la première ligne vide de la feuille de destination (à partir de la colonne B, en A ajoute la date de modification).

Le code qui suit est assez près du but, mais fonctionne seulement pour la ligne 3. Merci de votre aide.

Sub Copie()
    Dim shS As Worksheet 'Source
    Dim shD As Worksheet 'destination
    Dim iDest As Integer 'Ligne de destination dans feuille
    Set shS = ThisWorkbook.Worksheets("AccèsLogis_all") ' Feuille source
    Set shD = ThisWorkbook.Worksheets("Engagement") ' Feuille destination
    On Error Resume Next 'Pour éviter les messages d'erreur sur recherche infructueuse
    iDest = Application.WorksheetFunction.Match(shD.Range("A:A"), 0)
    On Error GoTo 0
    If iDest = 0 Then 'Cas ou pas trouvé on rajoute une ligne
        iDest = shD.Range("A65535").End(xlUp).Row + 1
    End If
    shS.Range("A3:Z3").Copy shD.Cells(iDest, "B")
    shD.Cells(iDest, 1) = Date
End Sub
Rechercher des sujets similaires à "ajouter date copier coller"