Transfert d'une ligne complète

Je viens de tester la suite des opérations mais je bloque sur un problème

J'arrive bien à faire passer de l'onglet "PAO - PREPRESSE" à l'onglet "NUMÉRIQUE" ou "OFFSET".

Sauf que maintenant dans l'onglet 'COMMANDE" il copie sans enlever la ligne et il me mets un message de débogage en me surlignant en jaune la ligne "If Target = "x" Or Target = "X" Then Target.EntireRow.Copy"

Je pense que çà doit être un petit problème mais je n'arrive pas à comprendre.

Bonjour

Regarde si ce nouveau code (commenté) réponds à tes nouvelles questions

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("G:G")) Is Nothing Then
'Déclaration de la variable
Dim j As Integer
' si on saisit x ou X
If Target = "x" Or Target = "X" Then
'demande de confirmation
    If MsgBox("Etes-vous certain de vouloir transférer cette ligne ?", vbYesNo, "Demande de confirmation") = vbYes Then
' si la réponse est Oui, le transfert s'effectue (on copie la ligne)
Target.EntireRow.Copy
' choix de la feuille de destination et sélection de cette feuille
If Target.Offset(0, 1) = "RETIRAGE SANS CORRECTIONS" And Target.Offset(0, 10) = "LILLE" Then
Sheets("NUMÉRIQUE").Activate
ElseIf Target.Offset(0, 1) <> "RETIRAGE SANS CORRECTIONS" Then
Sheets("PAO - PREPRESSE").Activate
End If
'recherche de la première ligne vide
j = ActiveSheet.[b65000].End(xlUp).Row + 1
'selection de cette ligne
ActiveSheet.Rows(j).EntireRow.Select
'collage de la ligne copiée
ActiveSheet.Paste
ActiveSheet.Range("B5").Select
'retour à la feuille COMMANDE
Sheets("COMMANDE").Activate
'désactivation des événements
Application.EnableEvents = False
'sélection de la ligne transférée
Target.EntireRow.Select
'suppression de cette ligne
Selection.Delete
'réactivation de l'interception des événements
Application.EnableEvents = True
'End If
End If
End If
End If
ActiveSheet.Range("B8").Select
End Sub

Cordialement

17planning-2015.zip (25.07 Ko)

Merci mais j'ai du mal m'expliqué en fait c'est plutôt quand la ligne est déjà arrivé dans l'onglet "NUMÉRIQUE" et que je voudrais la faire revenir dans l'onglet "COMMANDE".

Pour ce qui est du second onglet, voilà le code que j'ai modifié et il fonctionne bien sauf que çà bug.

Je pense qu'il doit manquer un petit détail

J'ai mis la ligne qui d'après Excel pose problème (erreur 13)

If Target = "x" Or Target = "X"

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("N:N")) Is Nothing Then
Dim i, j As Integer
If Target = "x" Or Target = "X" Then Target.EntireRow.Copy
If Target.Offset(0, 3) = "LILLE" Then
Sheets("NUMÉRIQUE").Activate
ElseIf Target.Offset(0, 3) = "MAUROIS" Then
Sheets("OFFSET").Activate
End If
j = ActiveSheet.[b65000].End(xlUp).Row + 1
ActiveSheet.Rows(j).EntireRow.Select
ActiveSheet.Paste
ActiveSheet.Range("B5").Select
Sheets("PAO - PREPRESSE").Activate
Application.EnableEvents = False
Target.EntireRow.Select
Selection.Delete
Application.EnableEvents = True
'End If
End If
End Sub

Par contre c'est super d'avoir mis des commentaires, c'est plus clair pour moi qui suit débutant dans les macros...

Bonjour

Si sur la seconde feuille, tu mets dans le code

If Target = "x" Or Target = "X" Then Target.EntireRow.Copy

If Target.Offset(0, 3) = "LILLE" Then

Lorsque le Code de la première feuille vient coller la ligne sur cette feuille, le Target n'est plus défini puisque toutes les cellules de la ligne sont modifiées, et activent donc cette instruction pour toutes les cellules

D'où le message d'erreur.

Cordialement

Bonjour,

Donc si je comprends bien, le code que j'ai mis vient s'additionné au tiens et non en complément.

Mais comment se fait il qu'il vient se complémenter étant donné qu'à la fin il est noté "End If".

De ce fait comment faire pour qu'il arrête à l'onglet souhaité.

Car ce sont des étapes. Il faut qu'il s'arrête aux différentes étapes avec des conditions précises.

Bonjour,

Je viens de trouver et de resoudre le problème sur un autre forum.

Il fallait mettre le code suivant.

 If Target.Count > 1 Then Exit Sub

Maintenant tout es nickel.

Merci encore pour ton aide...

Rechercher des sujets similaires à "transfert ligne complete"