superbog
XLDnaute Occasionnel
Bonsoir,
Je m'explique.
J'ai un classeur avec de nombreuses feuilles identiques que je remplis par diverses macros (toutes issues du même modèle).
à la fin de la macro, je barre les cellules traitées de sorte que la fois suivante elles ne soient pas traitées en double
j'ai du faire une erreur dans le code car quand je lance la macro, cela barre non seulement les cellules traitées mais aussi les suivantes, vides.
pourriez vous m'aider à résoudre ce petit problème
ci joint fichier exemple
HR est la feuille source (ou les lignes doivent être barrées), 2097 la feuille qui est remplie par la macro
voici la macro en question
Je m'explique.
J'ai un classeur avec de nombreuses feuilles identiques que je remplis par diverses macros (toutes issues du même modèle).
à la fin de la macro, je barre les cellules traitées de sorte que la fois suivante elles ne soient pas traitées en double
j'ai du faire une erreur dans le code car quand je lance la macro, cela barre non seulement les cellules traitées mais aussi les suivantes, vides.
pourriez vous m'aider à résoudre ce petit problème
ci joint fichier exemple
HR est la feuille source (ou les lignes doivent être barrées), 2097 la feuille qui est remplie par la macro
voici la macro en question
Code:
Sub HR()
Dim I, DerLigBase, Lig As Integer
Dim dossier, sNomFeuille As String
Dim colFeuille As Collection
Dim rCelA As Range
Dim shAct As Worksheet
Dim FeuilleExist As Boolean
'Recherche de la dernière ligne
DerLigBase = Sheets("HR").Range("A9000").End(xlUp).Row
Set colFeuille = New Collection
On Error Resume Next
'Boucle sur la plage de cellule
For Each rCelA In Sheets("HR").Range(Cells(2, 1), Cells(DerLigBase, 1))
colFeuille.Add rCelA, CStr(rCelA)
Next rCelA
'Recherche de la ligne et tri dans chaque feuille
For I = 2 To DerLigBase
dossier = Cells(I, 1).Text
Lig = Sheets(dossier).Range("AD9000").End(xlUp).Row
'Copie les valeurs si non barrées
With Sheets("HR").Cells(I, "B").Resize(, 7)
If Not .Cells(1).Font.Strikethrough Then '1ère valeur non barrée
Worksheets(dossier).Cells(Lig + 1, "AD").Resize(, 7) = .Value
.Font.Strikethrough = True
End If
End With
Next I
MsgBox "opération effectuée"
End Sub
Pièces jointes
Dernière édition: