Boujour à tous,
Suite à mes recherches sur différents forum qui ne m'ont pas apporter de réponses, je retourne vers vous.
Je suis débutant en VBA et je dois réaliser pour mon stage un petit fichier. Je coince pour un bouton d'archivage. Le but est de :
- réaliser une recherche de référence (nom de la cellule "archive_réf")
- copier une ligne de l'onglet 1 suite à cette recherche
- supprimer toutes les lignes de l'onglet 2 suite à cette recherche
Le code que j'utilise pour l'instant est le suivant :
Le problème :
- Si la référence n'existe pas dans l'onglet1 toutes les lignes de l'onglet 2 sont supprimer (donc jusque là tout va bien )
- Si la référence existe dans l'onglet 1, la ligne est déplacer, mais les lignes de l'onglet 2 ne sont pas supprimer !! comme si l'égalité de la fonction if bloqué la progression de la boucle.
Auriez vous une solution pour que la boucle continue pour pouvoir supprimer toutes les lignes de l'onglet 2 ?
Par avance merci,
Landry
Suite à mes recherches sur différents forum qui ne m'ont pas apporter de réponses, je retourne vers vous.
Je suis débutant en VBA et je dois réaliser pour mon stage un petit fichier. Je coince pour un bouton d'archivage. Le but est de :
- réaliser une recherche de référence (nom de la cellule "archive_réf")
- copier une ligne de l'onglet 1 suite à cette recherche
- supprimer toutes les lignes de l'onglet 2 suite à cette recherche
Le code que j'utilise pour l'instant est le suivant :
Code:
Sub Archiver()
Dim n As Integer
Dim lig As Range
Set lig = Worksheets("onglet3").Range("A65536").End(xlUp).Offset(1, 0)
For n = 1 To 2000
If Worksheets("onglet1").Range("A" & n).Value = Range("archive_ref").Value Then
Worksheets("onglet1").Range("A" & n).EntireRow.Cut
lig.Select
ActiveSheet.Paste
Dim I As Long
Dim Plage As Range
Set Plage = Worksheets("onglet2").Range("A7:A" & Range("A7").End(xlDown).Row)
For I = Plage.Cells.Count To 1 Step -1
If Plage.Cells(I).Value = Range("archive_ref").Value Then
Plage.Cells(I).EntireRow.Delete
End If
Next
End If
Next n
End Sub
Le problème :
- Si la référence n'existe pas dans l'onglet1 toutes les lignes de l'onglet 2 sont supprimer (donc jusque là tout va bien )
- Si la référence existe dans l'onglet 1, la ligne est déplacer, mais les lignes de l'onglet 2 ne sont pas supprimer !! comme si l'égalité de la fonction if bloqué la progression de la boucle.
Auriez vous une solution pour que la boucle continue pour pouvoir supprimer toutes les lignes de l'onglet 2 ?
Par avance merci,
Landry