
Envoyé par
Redphoeniiix
Menhir, effectivement je souhaiterais que les valeurs se copient immédiatement, dès la saisie de "Oui" ou "À voir" (sachant que je vais surement essayer de trouver une formule pour que ces valeurs apparaissent seules).
Attention, ce n'est pas du tout la même chose.
Une saisie dans une cellule peut être repérée par une macro évènementielle Worksheet_Change.
Mais ce sera totalement sans effet si la valeur est modifiée par une formule, une copie ou... autre (puisque tu ne précises pas ce qui va faire cette modification à l'avenir).
Il faudrait copier uniquement les lignes qui n'ont pas encore été copiées.
Comment peut-on savoir qu'une ligne a déjà été copiée ?
Est-ce qu'il y a un éléments de la ligne qui est modifié lors de la copie ?
Est-il possible de repérer dans la destination (et par quels éléments) les lignes qui ont déjà été copiées ?
J'ai mis une ébauche de tableau en copie (sachant que le vrai tableau est sur Google).
Pour info, plusieurs participants à ce forum (moi compris) n'ouvrent pas les fichiers joints, entre autre pour les raisons exposées ici :
https://www.developpez.net/forums/d8...s-discussions/
On ne peut pas construire un code sur un exemple.
Il faut des règles qui couvrent l'ensemble des cas possibles.
- A3 de "Processus" soit copiée dans A3 de "Actions"
- B3 de "Processus" soit copiée dans B3 de "Actions"
- C3 de "Processus" soit copiée dans D3 de "Actions"
- E3 de "Processus" soit copiée dans E3 de "Actions"
- F3 de "Processus" soit copiée dans F3 de "Actions"
Tu peux faire ce transfert soit par copie avec la propriété Copy affectée au Range désignant tes données sources.
https://msdn.microsoft.com/fr-fr/lib...0(v=office.15)
Soit le transférer directement par valeur.
Par exemple pour le A3 :
Worksheets("Actions").Range("A3") = Worksheets("Processus").Range("A3")
Partager