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.