superbog
XLDnaute Occasionnel
Bonjour,
Voici ma difficulté, j'ai une macro qui fonctionne bien mais elle recopie automatiquement toutes les données du fichier de base or je voudrais m'en servir pour faire des mise à jour.
Donc il faudrait, qu'elle s'exécute, barre les cellules du fichiers de base après les avoir traité et qu'ensuite quand je l'exécute à nouveau elle ne prenne en compte que les cellules non barrées.
voici la macro d'origine
Sub TP()
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("TP").Range("A9000").End(xlUp).Row
Set colFeuille = New Collection
On Error Resume Next
'Boucle sur la plage de cellule
For Each rCelA In Sheets("TP").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("A9000").End(xlUp).Row
'Copie
Sheets("TP").Range("C" & i & ":F" & i).Copy Destination:=Worksheets(dossier).Range("A" & Lig + 1)
Next i
MsgBox "opération effectuée"
End Sub
Voici ma difficulté, j'ai une macro qui fonctionne bien mais elle recopie automatiquement toutes les données du fichier de base or je voudrais m'en servir pour faire des mise à jour.
Donc il faudrait, qu'elle s'exécute, barre les cellules du fichiers de base après les avoir traité et qu'ensuite quand je l'exécute à nouveau elle ne prenne en compte que les cellules non barrées.
voici la macro d'origine
Sub TP()
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("TP").Range("A9000").End(xlUp).Row
Set colFeuille = New Collection
On Error Resume Next
'Boucle sur la plage de cellule
For Each rCelA In Sheets("TP").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("A9000").End(xlUp).Row
'Copie
Sheets("TP").Range("C" & i & ":F" & i).Copy Destination:=Worksheets(dossier).Range("A" & Lig + 1)
Next i
MsgBox "opération effectuée"
End Sub