Bonjour à tous,
Débutant VBA, j'aurais besoin d'aide svp
Je recherche depuis plusieurs heures, si je suis passé à côté veuillez m'en excuser et si vous pouviez m'indiquer un lien svp ce serait fort appréciable
J'utilise une macro que j'ai trouvée, qui extrait les données d'une feuille selon critère en colonne et crée les feuilles correspondantes.
Seulement, j'aimerais extraire les nouvelles données en feuil 1 et les coller sur les feuilles correspondantes (ES,FR), ainsi je pourrais modifier les anciennes données des feuilles (ES,FR).
Ci-joint le code actuel
Dim i&, F As Worksheet, TMP, Deb!
Deb = Timer
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.StatusBar = ""
With Sheets("Feuil1")
'Pour les lignes de 2 à la dernière remplie en colonne 9
For i = 2 To .Cells(Rows.Count, 2).End(xlUp).Row
TMP = .Cells(i, 2).Value
'Si il y a une erreure on passe à la ligne suivante
On Error Resume Next
'On dis que F est égal à la feuille du nom de la valeur de la cellule i en colonne 9
'si cette feuille n'existe pas il y a une erreur gérée par la ligne précédente
Set F = Sheets(TMP)
'si il y a une erreur on l'annule
On Error GoTo 0
''si f n'est rien, donc si la feuille n'existe pas
If F Is Nothing Then
'on la crée au bout des onglets
Sheets.Add(after:=Sheets(Sheets.Count)).Name = TMP
'On ajoute l'en tête
ActiveSheet.Rows(1).Value = .Rows(1).Value
'On dis que F est égal à la feuille du nom de la valeur de la cellule i en colonne 9
Set F = Sheets(TMP)
'Fin de la codition
End If
'Comme on est certain de l'éxistence de la feuille
'on copie la ligne i de la feuille Import sur la première ligne vide en colonne 1(A)de la bonne feuille
F.Rows(F.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row).Value = .Rows(i).Value
'On annule la variable F (préparation du prochain passage)
Set F = Nothing
Next i
.Activate 'Retour sur la feuille Import
End With
Application.StatusBar = False
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
MsgBox Timer - Deb
Merci d'avance
Fichier exemple :