Transfert de données

Bonjour

J'ai un classeur en construction qui utilise une macro pour transférer des données d'une feuille à une autre dans le même classeur.

Le transfert se fait correctement mais les données transférées s'affichent sur la première ligne seulement et non sur la ligne suivante comme il se devrait.

J'ai utilisé cette même macro dans un autre classeur et cela fonctionnait très bien. Je ne comprends pas ce qui se passe.

Dans ce classeur, les données transférées sont de la feuille Exécution 400T à la feuille Histo.

Voici le code de la macro

Merci de m'aider à résoudre ce problème.

rivate Const feuilleTravail As String = "Exécution 400T"

Private Const feuilleSauvegarde As String = "Histo"

Dim ln

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Rows.Count <> 1 Or Target.Columns.Count <> 1 Then Exit Sub

If Target.Column <> 11 Or Target.Row < 4 Or Target.Value = "" Then Exit Sub

Sheets(feuilleTravail).Unprotect

Sheets(feuilleSauvegarde).Unprotect

col = Target.Row

Select Case Target.Value

Case "Complete"

lettre = "N"

Range(lettre & col).Select

If Range(lettre & col) = "" Then Range(lettre & col) = Now

Selection.Locked = True

Selection.FormulaHidden = False

Case "En Cours"

lettre = "M"

Range(lettre & col).Select

If Range(lettre & col) = "" Then Range(lettre & col) = Now

Selection.Locked = True

Selection.FormulaHidden = False

Case "En Attente"

lettre = "M"

Range(lettre & col).Select

If Range(lettre & col) = "" Then Range(lettre & col) = Now

Selection.Locked = True

Selection.FormulaHidden = False

Case "Donne"

Dim transfert As Variant

Dim derniereLigne%

derniereLigne = Sheets(feuilleSauvegarde).Cells(Sheets(feuilleSauvegarde).Rows.Count, "A").End(xlUp).Row

transfert = Sheets(feuilleTravail).Range("B" & col & ":P" & col)

Sheets(feuilleSauvegarde).Range("A" & derniereLigne + 1).Resize(1, UBound(transfert, 2) - LBound(transfert, 1) + 2) = transfert

Sheets(feuilleTravail).Range("E" & col).ClearContents

Sheets(feuilleTravail).Range("M" & col & ":Q" & col).ClearContents

End Select

Bonjour,

Tu ne dis pas à quelle(s) condition(s) la ligne doit répondre pour être transférée d'un onglet à l'autre ?

Tu transfert et tu marques la ligne comme étant transférée ? Où ?

Double clic sur la ligne ou transfert de ce qui serait marqué "faux" et deviendrait "VRAI" après transfert ?

P.

Bonjour Patrick1957

La condition est que lorsque je clic "Donne" dans le menu déroulant de la colonne K de la feuille exécution 400T, ou "Feuille de Travail" transfert se fait sur la feuille Histo ou "Feuille Sauvegarde"

Ça fonctionne très bien dans un autre classeur et non dans celui-ci?

re,

moi je verrais ça comme ceci (fichier légèrement modifié pour prendre toutes les colonnes à archiver)

P.

9bigari-xlp.xlsm (178.44 Ko)
Rechercher des sujets similaires à "transfert donnees"