Autres mise a jour automatique feuille excel vba

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

HANN

XLDnaute Nouveau
Bonjour, je cherche une macro pour mettre à jour automatiquement des données entre des fichiers Excel.

- Fichier 1 (qui est une consolidation des fichiers 2 et 3) contient la liste globale de clients : colonne A (Identifiant du client), colonne B (Nom du client), colonne C (Région), colonne D (Date), colonne E (Article), colonne F (Quantité).
- Fichier 2 contient la liste des clients de la région 1: colonne A (Identifiant du client), colonne B (Nom du client), colonne C (Région), colonne D (Date), colonne E (Article), colonne F (Quantité).
- Fichier 2 contient la liste des clients de la région 2: colonne A (Identifiant du client), colonne B (Nom du client), colonne C (Région), colonne D (Date), colonne E (Article), colonne F (Quantité).

Un même client peut acheter plusieurs articles différents. Et donc avoir plusieurs lignes dans une feuille.
L'idée est que lorsque je mets à jour le Fichier 1 et si l'identifiant du client (d'une région donnée) n'existait pas dans la Feuille 2 ou 3, alors la macro rajoute une ligne dans la feuille de la région concernée (Feuille 2 ou 3), dans le cas contraire, que la ligne se mette à jour en fonction des nouvelles données qui seront renseignées dans la feuille principale.

Et donc mon problème est qu'avec ma macro, c'est que lorsque je mets à jour le Fichier 1 pour un ancien client qui achète un nouvel article (donc rajout d'une nouvelle ligne) ou que je modifie la quantité d'un article d'un client, la macro ne rajoute pas de nouvelle ligne mais modifie l'ancienne donnée qui est dans la Feuille 2 ou 3.

- DONNEE FEUILLE 1

IDENTIFIANT NOM REGION DATE ARTICLE QUANTITE
P0054 BERTRAND FRANCOIS REGION 1 10/10/2022 COFFRET CADEAUX 1
P0055 DUPOND JEAN REGION 2 10/10/2022 COFFRET CADEAUX 1
P0055 DUPOND JEAN REGION 2 10/10/2022 PARFUM 1
P0056 VALLIN URBAIN REGION 2 27/10/2022 BOX 1
P0057 MICHOT LISA REGION 1 05/11/2022 PARFUM 1
P0058 VERNET JEAN REGION 2 05/11/2022 BOITE SURPRISE 1
P0059 LAMBREY HENRY REGION 1 05/11/2022 COFFRET CADEAUX 1
P0059 LAMBREY HENRY REGION 1 24/12/2022 BOITE SURPRISE 1
P0060 LAMBERT XAVIER REGION 2 25/11/2022 PARFUM 1

_ CODE VBA

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim REGION1 As Worksheet
Dim REGION2 As Worksheet

If Sh.Name = "Feuil1" And Sh.Range("A" & Target.Row) <> "" And Sh.Range("C" & Target.Row) = "REGION 1" Then
Set REGION1 = ThisWorkbook.Worksheets("Feuil2")
With REGION1
Set ID = .Columns("A").Find(Sh.Range("A" & Target.Row).Value, LookIn:=xlValues, lookat:=xlWhole)
If ID Is Nothing Then
Lastlig = .Cells(999999, 1).End(xlUp).Row
Sh.Range("A" & Target.Row & ":F" & Target.Row).Copy .Range("A" & Lastlig + 1)
Else
Sh.Range("A" & Target.Row & ":F" & Target.Row).Copy ID
End If
End With
End If
If Sh.Name = "Feuil1" And Sh.Range("A" & Target.Row) <> "" And Sh.Range("C" & Target.Row) = "REGION 2" Then
Set REGION2 = ThisWorkbook.Worksheets("Feuil3")
With REGION2
Set ID = .Columns("A").Find(Sh.Range("A" & Target.Row).Value, LookIn:=xlValues, lookat:=xlWhole)
If ID Is Nothing Then
Lastlig = .Cells(999999, 1).End(xlUp).Row
Sh.Range("A" & Target.Row & ":F" & Target.Row).Copy .Range("A" & Lastlig + 1)
Else
Sh.Range("A" & Target.Row & ":F" & Target.Row).Copy ID
End If
End With
End If

End Sub

Je vous remercie d'avance.
 
@HANN

Come toujours ce serait sympa de donner un exemple simplifié de ce qui est dans le FNC ...
Sans exemple, la reponse a juste : oui c'est possible.

Tu ne voudrais quand même pas que nous créyons le fichier "dummy"?

Si répondre à une question prend du temps, la poser en prend aussi.
Si tu ne formules pas la question afin que nous puissions y repondre...

A+
Merinos
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
98
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
233
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
78
Retour