je fais une macro qui va dans un classeur "STOCK"
sur une feuille "SORTIES"
qui cherche dans la colonne J la valeur RETRAIT
à chaque fois qu'il y a cette valeur dans la col J,
je sélectionne la ligne entière
je la copie sur la dernière ligne de la feuille LIGNES RESA HORS STOCK
je reviens sur la feuille "SORTIES"
je supprime la ligne sélectionnée
ET
je passe à la suivante pour faire le même travail
avec ma macro dont code ci-dessous, elle supprime bien toutes les lignes sur
lesquelles elle trouve RETRAIT dans la colonne J
MAIS
elle copie uniquement la dernière ligne trouvée dans la feuille LIGNES RESA
HORS STOCK
===========================
voici le code :
===========================
Sub Verif_Refs_Stock()
Windows("STOCK.XLS").Activate
Dim Derlig As Long
With Sheets("LIGNES RESA HORS STOCK")
Derlig = .range("A65536").End(xlUp)(2).Row
range("A" & Derlig).Select
End With
Sheets("SORTIES").Select
range("J2").Select
Dim rg As range
With Worksheets("SORTIES")
Set rg = .range("J2:J" & .range("J65536").End(xlUp).Row)
End With
Do Until ActiveCell = ""
If ActiveCell = "RETRAIT" Then
Selection.EntireRow.Copy
Sheets("LIGNES RESA HORS STOCK").Select
range("A" & Derlig).Select
ActiveSheet.Paste
Sheets("SORTIES").Select
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).range("A1").Select
End If
Loop
End Sub
=============================================
Une petite idée sur ce qui se passe ?????
d'avance merci à tous
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
LSteph
Bonjour,
(HS eviter les gesticu-select-ations inutiles e:range("A" & Derlig).Select)
Donc tu as défini d'avance Derlig la dernière ligne, sauf que dans la suite de ton code tu boucle toujours sur la même alors qu'il y en a une de plus à chaque tour. A la fin de l'execution tu lis donc la dernière copie seulement. Par ailleurs comme pour supprimer faut toujours remonter je te propose de copier insérer en boucle for i ..to 1step-1
''''' Sub Verif_Refs_Stock()
Dim myplg As Range, derlig As Long, i As Long
'Windows("STOCK.XLS").Activate '-----remets cidessus ci necessaire
With Sheets("SORTIES") Set myplg = .Range("J2:J" & .Range("J65536").End(xlUp).Row) End With derlig = Sheets("LIGNES RESA HORS STOCK").[a65536].End(xlUp)(2).Row
For i = myplg.Rows.Count To 1 Step -1 With myplg.Cells(i) If UCase(.Text) = "RETRAIT" Then .EntireRow.Copy Sheets("LIGNES RESA HORS STOCK").Rows(derlig).Insert Shift:=xlDown .EntireRow.Delete End If End With Next End Sub
'-- 'LSteph
On 29 avr, 16:56, Françoise wrote:
Bonjour à tous,
je fais une macro qui va dans un classeur "STOCK" sur une feuille "SORTIES" qui cherche dans la colonne J la valeur RETRAIT à chaque fois qu'il y a cette valeur dans la col J, je sélectionne la ligne entière je la copie sur la dernière ligne de la feuille LIGNES RESA HORS STOCK je reviens sur la feuille "SORTIES" je supprime la ligne sélectionnée ET je passe à la suivante pour faire le même travail
avec ma macro dont code ci-dessous, elle supprime bien toutes les lignes sur lesquelles elle trouve RETRAIT dans la colonne J MAIS elle copie uniquement la dernière ligne trouvée dans la feuille LIGNE S RESA HORS STOCK ======================== === voici le code : ======================== === Sub Verif_Refs_Stock()
Windows("STOCK.XLS").Activate Dim Derlig As Long
With Sheets("LIGNES RESA HORS STOCK") Derlig = .range("A65536").End(xlUp)(2).Row range("A" & Derlig).Select End With
Sheets("SORTIES").Select range("J2").Select Dim rg As range With Worksheets("SORTIES") Set rg = .range("J2:J" & .range("J65536").End(xlUp).Row) End With
Do Until ActiveCell = "" If ActiveCell = "RETRAIT" Then Selection.EntireRow.Copy Sheets("LIGNES RESA HORS STOCK").Select range("A" & Derlig).Select ActiveSheet.Paste Sheets("SORTIES").Select Selection.EntireRow.Delete Else ActiveCell.Offset(1, 0).range("A1").Select End If Loop End Sub ======================== ===================== Une petite idée sur ce qui se passe ????? d'avance merci à tous
Bonjour,
(HS eviter les gesticu-select-ations inutiles e:range("A" &
Derlig).Select)
Donc tu as défini d'avance Derlig la dernière ligne, sauf que dans la
suite de ton code tu boucle toujours sur la même
alors qu'il y en a une de plus à chaque tour. A la fin de l'execution
tu lis donc la dernière copie seulement.
Par ailleurs comme pour supprimer faut toujours remonter je te propose
de copier insérer en boucle for i ..to 1step-1
'''''
Sub Verif_Refs_Stock()
Dim myplg As Range, derlig As Long, i As Long
'Windows("STOCK.XLS").Activate
'-----remets cidessus ci necessaire
With Sheets("SORTIES")
Set myplg = .Range("J2:J" & .Range("J65536").End(xlUp).Row)
End With
derlig = Sheets("LIGNES RESA HORS STOCK").[a65536].End(xlUp)(2).Row
For i = myplg.Rows.Count To 1 Step -1
With myplg.Cells(i)
If UCase(.Text) = "RETRAIT" Then
.EntireRow.Copy
Sheets("LIGNES RESA HORS STOCK").Rows(derlig).Insert Shift:=xlDown
.EntireRow.Delete
End If
End With
Next
End Sub
'--
'LSteph
On 29 avr, 16:56, Françoise <Frano...@discussions.microsoft.com>
wrote:
Bonjour à tous,
je fais une macro qui va dans un classeur "STOCK"
sur une feuille "SORTIES"
qui cherche dans la colonne J la valeur RETRAIT
à chaque fois qu'il y a cette valeur dans la col J,
je sélectionne la ligne entière
je la copie sur la dernière ligne de la feuille LIGNES RESA HORS STOCK
je reviens sur la feuille "SORTIES"
je supprime la ligne sélectionnée
ET
je passe à la suivante pour faire le même travail
avec ma macro dont code ci-dessous, elle supprime bien toutes les lignes sur
lesquelles elle trouve RETRAIT dans la colonne J
MAIS
elle copie uniquement la dernière ligne trouvée dans la feuille LIGNE S RESA
HORS STOCK
======================== ===
voici le code :
======================== ===
Sub Verif_Refs_Stock()
Windows("STOCK.XLS").Activate
Dim Derlig As Long
With Sheets("LIGNES RESA HORS STOCK")
Derlig = .range("A65536").End(xlUp)(2).Row
range("A" & Derlig).Select
End With
Sheets("SORTIES").Select
range("J2").Select
Dim rg As range
With Worksheets("SORTIES")
Set rg = .range("J2:J" & .range("J65536").End(xlUp).Row)
End With
Do Until ActiveCell = ""
If ActiveCell = "RETRAIT" Then
Selection.EntireRow.Copy
Sheets("LIGNES RESA HORS STOCK").Select
range("A" & Derlig).Select
ActiveSheet.Paste
Sheets("SORTIES").Select
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).range("A1").Select
End If
Loop
End Sub
======================== =====================
Une petite idée sur ce qui se passe ?????
d'avance merci à tous
(HS eviter les gesticu-select-ations inutiles e:range("A" & Derlig).Select)
Donc tu as défini d'avance Derlig la dernière ligne, sauf que dans la suite de ton code tu boucle toujours sur la même alors qu'il y en a une de plus à chaque tour. A la fin de l'execution tu lis donc la dernière copie seulement. Par ailleurs comme pour supprimer faut toujours remonter je te propose de copier insérer en boucle for i ..to 1step-1
''''' Sub Verif_Refs_Stock()
Dim myplg As Range, derlig As Long, i As Long
'Windows("STOCK.XLS").Activate '-----remets cidessus ci necessaire
With Sheets("SORTIES") Set myplg = .Range("J2:J" & .Range("J65536").End(xlUp).Row) End With derlig = Sheets("LIGNES RESA HORS STOCK").[a65536].End(xlUp)(2).Row
For i = myplg.Rows.Count To 1 Step -1 With myplg.Cells(i) If UCase(.Text) = "RETRAIT" Then .EntireRow.Copy Sheets("LIGNES RESA HORS STOCK").Rows(derlig).Insert Shift:=xlDown .EntireRow.Delete End If End With Next End Sub
'-- 'LSteph
On 29 avr, 16:56, Françoise wrote:
Bonjour à tous,
je fais une macro qui va dans un classeur "STOCK" sur une feuille "SORTIES" qui cherche dans la colonne J la valeur RETRAIT à chaque fois qu'il y a cette valeur dans la col J, je sélectionne la ligne entière je la copie sur la dernière ligne de la feuille LIGNES RESA HORS STOCK je reviens sur la feuille "SORTIES" je supprime la ligne sélectionnée ET je passe à la suivante pour faire le même travail
avec ma macro dont code ci-dessous, elle supprime bien toutes les lignes sur lesquelles elle trouve RETRAIT dans la colonne J MAIS elle copie uniquement la dernière ligne trouvée dans la feuille LIGNE S RESA HORS STOCK ======================== === voici le code : ======================== === Sub Verif_Refs_Stock()
Windows("STOCK.XLS").Activate Dim Derlig As Long
With Sheets("LIGNES RESA HORS STOCK") Derlig = .range("A65536").End(xlUp)(2).Row range("A" & Derlig).Select End With
Sheets("SORTIES").Select range("J2").Select Dim rg As range With Worksheets("SORTIES") Set rg = .range("J2:J" & .range("J65536").End(xlUp).Row) End With
Do Until ActiveCell = "" If ActiveCell = "RETRAIT" Then Selection.EntireRow.Copy Sheets("LIGNES RESA HORS STOCK").Select range("A" & Derlig).Select ActiveSheet.Paste Sheets("SORTIES").Select Selection.EntireRow.Delete Else ActiveCell.Offset(1, 0).range("A1").Select End If Loop End Sub ======================== ===================== Une petite idée sur ce qui se passe ????? d'avance merci à tous
tfj57
Bonjour,
Après le ActiveSheet.Paste, il faudrait incrémenter la variable Derlig pour passer à la ligne suivante.
Salutations
François
"Françoise" a écrit dans le message de news:
Bonjour à tous,
je fais une macro qui va dans un classeur "STOCK" sur une feuille "SORTIES" qui cherche dans la colonne J la valeur RETRAIT à chaque fois qu'il y a cette valeur dans la col J, je sélectionne la ligne entière je la copie sur la dernière ligne de la feuille LIGNES RESA HORS STOCK je reviens sur la feuille "SORTIES" je supprime la ligne sélectionnée ET je passe à la suivante pour faire le même travail
avec ma macro dont code ci-dessous, elle supprime bien toutes les lignes sur lesquelles elle trouve RETRAIT dans la colonne J MAIS elle copie uniquement la dernière ligne trouvée dans la feuille LIGNES RESA HORS STOCK ========================== > voici le code : ========================== > Sub Verif_Refs_Stock()
Windows("STOCK.XLS").Activate Dim Derlig As Long
With Sheets("LIGNES RESA HORS STOCK") Derlig = .range("A65536").End(xlUp)(2).Row range("A" & Derlig).Select End With
Sheets("SORTIES").Select range("J2").Select Dim rg As range With Worksheets("SORTIES") Set rg = .range("J2:J" & .range("J65536").End(xlUp).Row) End With
Do Until ActiveCell = "" If ActiveCell = "RETRAIT" Then Selection.EntireRow.Copy Sheets("LIGNES RESA HORS STOCK").Select range("A" & Derlig).Select ActiveSheet.Paste Sheets("SORTIES").Select Selection.EntireRow.Delete Else ActiveCell.Offset(1, 0).range("A1").Select End If Loop End Sub ============================================ > Une petite idée sur ce qui se passe ????? d'avance merci à tous
Bonjour,
Après le ActiveSheet.Paste, il faudrait incrémenter la variable Derlig pour
passer à la ligne suivante.
Salutations
François
"Françoise" <Franoise@discussions.microsoft.com> a écrit dans le message de
news: C92A8ADC-6DAB-4134-A322-4670C164E7E5@microsoft.com...
Bonjour à tous,
je fais une macro qui va dans un classeur "STOCK"
sur une feuille "SORTIES"
qui cherche dans la colonne J la valeur RETRAIT
à chaque fois qu'il y a cette valeur dans la col J,
je sélectionne la ligne entière
je la copie sur la dernière ligne de la feuille LIGNES RESA HORS STOCK
je reviens sur la feuille "SORTIES"
je supprime la ligne sélectionnée
ET
je passe à la suivante pour faire le même travail
avec ma macro dont code ci-dessous, elle supprime bien toutes les lignes
sur
lesquelles elle trouve RETRAIT dans la colonne J
MAIS
elle copie uniquement la dernière ligne trouvée dans la feuille LIGNES
RESA
HORS STOCK
========================== > voici le code :
========================== > Sub Verif_Refs_Stock()
Windows("STOCK.XLS").Activate
Dim Derlig As Long
With Sheets("LIGNES RESA HORS STOCK")
Derlig = .range("A65536").End(xlUp)(2).Row
range("A" & Derlig).Select
End With
Sheets("SORTIES").Select
range("J2").Select
Dim rg As range
With Worksheets("SORTIES")
Set rg = .range("J2:J" & .range("J65536").End(xlUp).Row)
End With
Do Until ActiveCell = ""
If ActiveCell = "RETRAIT" Then
Selection.EntireRow.Copy
Sheets("LIGNES RESA HORS STOCK").Select
range("A" & Derlig).Select
ActiveSheet.Paste
Sheets("SORTIES").Select
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).range("A1").Select
End If
Loop
End Sub
============================================ > Une petite idée sur ce qui se passe ?????
d'avance merci à tous
Après le ActiveSheet.Paste, il faudrait incrémenter la variable Derlig pour passer à la ligne suivante.
Salutations
François
"Françoise" a écrit dans le message de news:
Bonjour à tous,
je fais une macro qui va dans un classeur "STOCK" sur une feuille "SORTIES" qui cherche dans la colonne J la valeur RETRAIT à chaque fois qu'il y a cette valeur dans la col J, je sélectionne la ligne entière je la copie sur la dernière ligne de la feuille LIGNES RESA HORS STOCK je reviens sur la feuille "SORTIES" je supprime la ligne sélectionnée ET je passe à la suivante pour faire le même travail
avec ma macro dont code ci-dessous, elle supprime bien toutes les lignes sur lesquelles elle trouve RETRAIT dans la colonne J MAIS elle copie uniquement la dernière ligne trouvée dans la feuille LIGNES RESA HORS STOCK ========================== > voici le code : ========================== > Sub Verif_Refs_Stock()
Windows("STOCK.XLS").Activate Dim Derlig As Long
With Sheets("LIGNES RESA HORS STOCK") Derlig = .range("A65536").End(xlUp)(2).Row range("A" & Derlig).Select End With
Sheets("SORTIES").Select range("J2").Select Dim rg As range With Worksheets("SORTIES") Set rg = .range("J2:J" & .range("J65536").End(xlUp).Row) End With
Do Until ActiveCell = "" If ActiveCell = "RETRAIT" Then Selection.EntireRow.Copy Sheets("LIGNES RESA HORS STOCK").Select range("A" & Derlig).Select ActiveSheet.Paste Sheets("SORTIES").Select Selection.EntireRow.Delete Else ActiveCell.Offset(1, 0).range("A1").Select End If Loop End Sub ============================================ > Une petite idée sur ce qui se passe ????? d'avance merci à tous
Françoise
Merci beaucoup, c'est parfait, j'ai compris le problème merci à tous les deux pour votre aide
"LSteph" a écrit :
Bonjour,
(HS eviter les gesticu-select-ations inutiles e:range("A" & Derlig).Select)
Donc tu as défini d'avance Derlig la dernière ligne, sauf que dans la suite de ton code tu boucle toujours sur la même alors qu'il y en a une de plus à chaque tour. A la fin de l'execution tu lis donc la dernière copie seulement. Par ailleurs comme pour supprimer faut toujours remonter je te propose de copier insérer en boucle for i ..to 1step-1
''''' Sub Verif_Refs_Stock()
Dim myplg As Range, derlig As Long, i As Long
'Windows("STOCK.XLS").Activate '-----remets cidessus ci necessaire
With Sheets("SORTIES") Set myplg = .Range("J2:J" & .Range("J65536").End(xlUp).Row) End With derlig = Sheets("LIGNES RESA HORS STOCK").[a65536].End(xlUp)(2).Row
For i = myplg.Rows.Count To 1 Step -1 With myplg.Cells(i) If UCase(.Text) = "RETRAIT" Then .EntireRow.Copy Sheets("LIGNES RESA HORS STOCK").Rows(derlig).Insert Shift:=xlDown .EntireRow.Delete End If End With Next End Sub
'-- 'LSteph
On 29 avr, 16:56, Françoise wrote: > Bonjour à tous, > > je fais une macro qui va dans un classeur "STOCK" > sur une feuille "SORTIES" > qui cherche dans la colonne J la valeur RETRAIT > à chaque fois qu'il y a cette valeur dans la col J, > je sélectionne la ligne entière > je la copie sur la dernière ligne de la feuille LIGNES RESA HORS STOCK > je reviens sur la feuille "SORTIES" > je supprime la ligne sélectionnée > ET > je passe à la suivante pour faire le même travail > > avec ma macro dont code ci-dessous, elle supprime bien toutes les lignes sur > lesquelles elle trouve RETRAIT dans la colonne J > MAIS > elle copie uniquement la dernière ligne trouvée dans la feuille LIGNES RESA > HORS STOCK > ========================== > > voici le code : > ========================== > > Sub Verif_Refs_Stock() > > Windows("STOCK.XLS").Activate > Dim Derlig As Long > > With Sheets("LIGNES RESA HORS STOCK") > Derlig = .range("A65536").End(xlUp)(2).Row > range("A" & Derlig).Select > End With > > Sheets("SORTIES").Select > range("J2").Select > Dim rg As range > With Worksheets("SORTIES") > Set rg = .range("J2:J" & .range("J65536").End(xlUp).Row) > End With > > Do Until ActiveCell = "" > If ActiveCell = "RETRAIT" Then > Selection.EntireRow.Copy > Sheets("LIGNES RESA HORS STOCK").Select > range("A" & Derlig).Select > ActiveSheet.Paste > Sheets("SORTIES").Select > Selection.EntireRow.Delete > Else > ActiveCell.Offset(1, 0).range("A1").Select > End If > Loop > End Sub > ============================================ > > Une petite idée sur ce qui se passe ????? > d'avance merci à tous
.
Merci beaucoup, c'est parfait, j'ai compris le problème
merci à tous les deux pour votre aide
"LSteph" a écrit :
Bonjour,
(HS eviter les gesticu-select-ations inutiles e:range("A" &
Derlig).Select)
Donc tu as défini d'avance Derlig la dernière ligne, sauf que dans la
suite de ton code tu boucle toujours sur la même
alors qu'il y en a une de plus à chaque tour. A la fin de l'execution
tu lis donc la dernière copie seulement.
Par ailleurs comme pour supprimer faut toujours remonter je te propose
de copier insérer en boucle for i ..to 1step-1
'''''
Sub Verif_Refs_Stock()
Dim myplg As Range, derlig As Long, i As Long
'Windows("STOCK.XLS").Activate
'-----remets cidessus ci necessaire
With Sheets("SORTIES")
Set myplg = .Range("J2:J" & .Range("J65536").End(xlUp).Row)
End With
derlig = Sheets("LIGNES RESA HORS STOCK").[a65536].End(xlUp)(2).Row
For i = myplg.Rows.Count To 1 Step -1
With myplg.Cells(i)
If UCase(.Text) = "RETRAIT" Then
.EntireRow.Copy
Sheets("LIGNES RESA HORS STOCK").Rows(derlig).Insert Shift:=xlDown
.EntireRow.Delete
End If
End With
Next
End Sub
'--
'LSteph
On 29 avr, 16:56, Françoise <Frano...@discussions.microsoft.com>
wrote:
> Bonjour à tous,
>
> je fais une macro qui va dans un classeur "STOCK"
> sur une feuille "SORTIES"
> qui cherche dans la colonne J la valeur RETRAIT
> à chaque fois qu'il y a cette valeur dans la col J,
> je sélectionne la ligne entière
> je la copie sur la dernière ligne de la feuille LIGNES RESA HORS STOCK
> je reviens sur la feuille "SORTIES"
> je supprime la ligne sélectionnée
> ET
> je passe à la suivante pour faire le même travail
>
> avec ma macro dont code ci-dessous, elle supprime bien toutes les lignes sur
> lesquelles elle trouve RETRAIT dans la colonne J
> MAIS
> elle copie uniquement la dernière ligne trouvée dans la feuille LIGNES RESA
> HORS STOCK
> ========================== > > voici le code :
> ========================== > > Sub Verif_Refs_Stock()
>
> Windows("STOCK.XLS").Activate
> Dim Derlig As Long
>
> With Sheets("LIGNES RESA HORS STOCK")
> Derlig = .range("A65536").End(xlUp)(2).Row
> range("A" & Derlig).Select
> End With
>
> Sheets("SORTIES").Select
> range("J2").Select
> Dim rg As range
> With Worksheets("SORTIES")
> Set rg = .range("J2:J" & .range("J65536").End(xlUp).Row)
> End With
>
> Do Until ActiveCell = ""
> If ActiveCell = "RETRAIT" Then
> Selection.EntireRow.Copy
> Sheets("LIGNES RESA HORS STOCK").Select
> range("A" & Derlig).Select
> ActiveSheet.Paste
> Sheets("SORTIES").Select
> Selection.EntireRow.Delete
> Else
> ActiveCell.Offset(1, 0).range("A1").Select
> End If
> Loop
> End Sub
> ============================================ > > Une petite idée sur ce qui se passe ?????
> d'avance merci à tous
Merci beaucoup, c'est parfait, j'ai compris le problème merci à tous les deux pour votre aide
"LSteph" a écrit :
Bonjour,
(HS eviter les gesticu-select-ations inutiles e:range("A" & Derlig).Select)
Donc tu as défini d'avance Derlig la dernière ligne, sauf que dans la suite de ton code tu boucle toujours sur la même alors qu'il y en a une de plus à chaque tour. A la fin de l'execution tu lis donc la dernière copie seulement. Par ailleurs comme pour supprimer faut toujours remonter je te propose de copier insérer en boucle for i ..to 1step-1
''''' Sub Verif_Refs_Stock()
Dim myplg As Range, derlig As Long, i As Long
'Windows("STOCK.XLS").Activate '-----remets cidessus ci necessaire
With Sheets("SORTIES") Set myplg = .Range("J2:J" & .Range("J65536").End(xlUp).Row) End With derlig = Sheets("LIGNES RESA HORS STOCK").[a65536].End(xlUp)(2).Row
For i = myplg.Rows.Count To 1 Step -1 With myplg.Cells(i) If UCase(.Text) = "RETRAIT" Then .EntireRow.Copy Sheets("LIGNES RESA HORS STOCK").Rows(derlig).Insert Shift:=xlDown .EntireRow.Delete End If End With Next End Sub
'-- 'LSteph
On 29 avr, 16:56, Françoise wrote: > Bonjour à tous, > > je fais une macro qui va dans un classeur "STOCK" > sur une feuille "SORTIES" > qui cherche dans la colonne J la valeur RETRAIT > à chaque fois qu'il y a cette valeur dans la col J, > je sélectionne la ligne entière > je la copie sur la dernière ligne de la feuille LIGNES RESA HORS STOCK > je reviens sur la feuille "SORTIES" > je supprime la ligne sélectionnée > ET > je passe à la suivante pour faire le même travail > > avec ma macro dont code ci-dessous, elle supprime bien toutes les lignes sur > lesquelles elle trouve RETRAIT dans la colonne J > MAIS > elle copie uniquement la dernière ligne trouvée dans la feuille LIGNES RESA > HORS STOCK > ========================== > > voici le code : > ========================== > > Sub Verif_Refs_Stock() > > Windows("STOCK.XLS").Activate > Dim Derlig As Long > > With Sheets("LIGNES RESA HORS STOCK") > Derlig = .range("A65536").End(xlUp)(2).Row > range("A" & Derlig).Select > End With > > Sheets("SORTIES").Select > range("J2").Select > Dim rg As range > With Worksheets("SORTIES") > Set rg = .range("J2:J" & .range("J65536").End(xlUp).Row) > End With > > Do Until ActiveCell = "" > If ActiveCell = "RETRAIT" Then > Selection.EntireRow.Copy > Sheets("LIGNES RESA HORS STOCK").Select > range("A" & Derlig).Select > ActiveSheet.Paste > Sheets("SORTIES").Select > Selection.EntireRow.Delete > Else > ActiveCell.Offset(1, 0).range("A1").Select > End If > Loop > End Sub > ============================================ > > Une petite idée sur ce qui se passe ????? > d'avance merci à tous