F
Fabienne
Guest
Bonjour le forum,
est-ce qu'il existe un moyen d'écrire une macro plus simple
que :
Sub Archiver()
Dim Plage As Range, Cel As Range
Dim Ligne1 As Integer
Ligne1 = Sheets('Priorités').Range('P6000').End(xlUp).Row + 1
'Définition de la plage à examiner dans la feuille Priorités
Set Plage = Sheets('Priorités').Range('P6:O' & Ligne1)
'Boucle sur la plage définie
L2 = Sheets('ArchivageFR').Range('A65000').End(xlUp).Row
For Each Cel In Plage
If Cel = 'oui' Then
'If Cel <> '' And Cel = 'oui' Then
L2 = L2 + 1
Cel.EntireRow.Range('A1:O1').Copy Sheets('ArchivageFR').Range('A' & L2)
'supprime la ligne qui a été copiée
Cel.EntireRow.Delete
End If
Next Cel
___
Le but étant de renvoyer dans la feuille 'ArchivageFR'la ligne correspondante si dans la colonne P de la feuille Priorités il y aun 'oui'...mais ma macro ne fonctionne pas très bien.
Merci d'avance pour votre attention
fabienne
est-ce qu'il existe un moyen d'écrire une macro plus simple
que :
Sub Archiver()
Dim Plage As Range, Cel As Range
Dim Ligne1 As Integer
Ligne1 = Sheets('Priorités').Range('P6000').End(xlUp).Row + 1
'Définition de la plage à examiner dans la feuille Priorités
Set Plage = Sheets('Priorités').Range('P6:O' & Ligne1)
'Boucle sur la plage définie
L2 = Sheets('ArchivageFR').Range('A65000').End(xlUp).Row
For Each Cel In Plage
If Cel = 'oui' Then
'If Cel <> '' And Cel = 'oui' Then
L2 = L2 + 1
Cel.EntireRow.Range('A1:O1').Copy Sheets('ArchivageFR').Range('A' & L2)
'supprime la ligne qui a été copiée
Cel.EntireRow.Delete
End If
Next Cel
___
Le but étant de renvoyer dans la feuille 'ArchivageFR'la ligne correspondante si dans la colonne P de la feuille Priorités il y aun 'oui'...mais ma macro ne fonctionne pas très bien.
Merci d'avance pour votre attention
fabienne