Ajouter et rectifier

seb83100

XLDnaute Nouveau
bonjour à tous,

je cherche à réaliser deux macros sur le fichier "FICHIER INITIAL.XLSM".

la première macro aura pour but d'ajouter le montant du fichier "A AJOUTER.XLSX"au montant du fichier "FICHIER INITIAL.XLSM" si les 5 conditions sont identiques (en couleur jaune sur les fichiers).

La deuxième macro quant a elle aura pour but de rectifier le montant du fichier " FICHIER INITIAL.XLSM" par le montant du fichier "A RECTIFIER.XLSX" toujours en réunissant les 5 conditions.

en espérant avoir été clair dans mes explications.

par avance merci pour votre aide

Séb,
 

Pièces jointes

  • FICHIER INITIAL.xlsm
    10.6 KB · Affichages: 9
  • A AJOUTER.xlsx
    8.6 KB · Affichages: 16
  • A RECTIFIER.xlsx
    8.6 KB · Affichages: 30

seb83100

XLDnaute Nouveau
bonjour à tous,

je reviens vers vous afin de savoir s'il était possible de préciser dans les deux fichiers (a ajouter et a rectifier), servant a mettre à jour le fichier initial, une annotation dans la colonne G après modification effectuée.

par avance merci pour votre aide
 

Pièces jointes

  • Ajouter rectifier.zip
    29.7 KB · Affichages: 11

seb83100

XLDnaute Nouveau
le test a été concluant, j'ai juste rectifié la macro pour la prise en compte de 5 conditions au lieu de 4.
mais maintenant je cherche à avoir une annotation dans les 2 fichiers (a ajouter et a rectifier) après mise à jour pour indiquer les modifications.
le soucis est que je peux avoir dans les deux fichiers des références non présentes dans le fichier initial et je souhaiterai les "marquer" afin de les traiter à part.

Cordialement.

ps j'ai ajouter les fichiers dans mon précédent message

Cordialement,
 

sousou

XLDnaute Barbatruc
Bonsoir, je suis de retour.
En ajoutant ou en modifiant les lignes en gras ci-dessous.
Tout dépend de ce que tu veux comme annotation, j'ai pas tous contrôlé...
Public faj, finit
Sub ajouter()
chemin = ThisWorkbook.Path
Set finit = ThisWorkbook.Sheets(1)
'Set aj = Workbooks("ajouter.xlsx")
Set aj = Workbooks.Open(chemin & "\ajouter.xlsx")
Set faj = aj.Sheets(1)
n = 0
Set debinit = finit.Cells(2, 3)
While debinit.Offset(n, 0) <> ""
res = cherche(debinit.Offset(n, 0), "Vérifier ajouter")
If res <> False Then
debinit.Offset(n, 5) = debinit.Offset(n, 5).Value + res
End If
n = n + 1
Wend
aj.Close savechanges:=True
End Sub

Function cherche(valeur, annotation)
Set debaj = faj.Cells(2, 1)
While debaj.Offset(n, 0) <> ""
If ( _
debaj.Offset(n, 0) = valeur.Offset(0, 0) And _
debaj.Offset(n, 1) = valeur.Offset(0, 1) And _
debaj.Offset(n, 2) = valeur.Offset(0, 2) And _
debaj.Offset(n, 3) = valeur.Offset(0, 3) And _
debaj.Offset(n, 4) = valeur.Offset(0, 4) _
) Then
Set cherche = debaj.Offset(n, 5)
cherche.Offset(0, 1) =annotation
Exit Function
End If
n = n + 1
Wend

End Function

Sub rectifier()
chemin = ThisWorkbook.Path
Set finit = ThisWorkbook.Sheets(1)
'Set aj = Workbooks("a rectifier.xlsx")
Set aj = Workbooks.Open(chemin & "\a rectifier.xlsx")
Set faj = aj.Sheets(1)
n = 0
Set debinit = finit.Cells(2, 3)
While debinit.Offset(n, 0) <> ""
res = cherche(debinit.Offset(n, 0), "Vérifier rectifier")
If res <> False Then debinit.Offset(n, 5) = res
n = n + 1
Wend
aj.Close
End Sub
 
Dernière édition:

Discussions similaires

Réponses
26
Affichages
794
Réponses
2
Affichages
614