Sauvegarde de colonne suite aux modifications
Bonjour,
J'essaye de trouver le moyen de sauvgarder automatiquement les modifications d'un colonne dans une Feuille différente tout en gardant l historique de ces modifications.
Plus précisément, la colonne de la feuille un, contenant des soldes de compte en banque est modifiée chaque semaine. De maniere a pouvoir analyser des tendances sur le Long Terme, je voudrais que chaque semaine, les valeurs de cette colonne de la feuille1 soient copiées dans une autre feuille a côtés de la colonne de la semaine précédente.
Donc Feuille1: En B1 on a l intiulé de la semaine (Week 1) En écrivant la num de la semaine, excel importe directement les valeurs d'autres documents envoyés par les filliales de l entreprise.
En feuille2: Colonne B, les valeurs de Week1 sont copiées et sauvées.
La semaine suivante, Toujours en B1 on a Week2 (avec tous les montants en dessous).
En feuille2: Colonne C, les valeurs de Week2 sont copiées et sauvées.
Est ce faisable? Merci pour votre aide.
Je mets un exemple en piece jointe.
Bonjour,
Première question qui vient à l'esprit : est-ce que les numéros , le nombre, l'ordre de ces comptes sont identiques d'une semaine à l'autre ?
A+
Bonjour Frangy,
A priori oui, on a developpé des formulaires bloqués contenant les numeros de comptes et qui nous sont renvoyés chaque semaine avec les nouveaux soldes. Grace a cela, on a pu coupler les formulaires avec la base de données qui trouve directement les soldes des que la semaine/date a ete adaptée.
Si jamais il y a un nouveau compte en banque, les filliales doivent nous communiquer les infos et nous adaptons le formulaires et la base de données et créons le lien.
Mon probleme se trouve dans la sauvgarde de chaque semaine dans une autre feuille sans effacer la semaine précédente.
Merci
Bonjour Banzai 64
Il semble que ce soit ca dont j ai besoin, ca a l'air de marcher tres bien! Un tout grand merci pour votre aide.
Par contre, comment puis je faire le même chose sur mon vrai fichier? S'agit t il de codes VBA (je n y connais rien
Merci bcp
Bonjour
Tu trouveras la macro dans le module de la feuille
Clic droit sur l'onglet de la feuille ---> Visualiser le code
Tu copies la macro dans une copie de ton fichier réel (au même endroit)
et tu testes complétement afin d'être sur que tout fonctionne comme tu veux
Re bonjour Banzai,
Grâce a votre aide, j y suis presque arrivé.
Un petit probleme demeure.
Dans la colonne suivante (AB) de ma feuille 1 j ai l'équivalence en € calculée a partir des taux de changes. J ai essayé de prolonger le code pour avoir une copie de cette equivalance dans la DB€ (Database €). Le problemes c'est que lorsque je change la semaine, cela me donne #VALUE! dans ma DB€.
Voici votre code que j ai adapté:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
Dim Colonne As Integer
If Target.Count > 1 Or Target.Cells(1, 1) = "" Then Exit Sub
If Target.Address = "$AA$1" Then
With Sheets("DB1")
Set Cel = .Rows(1).Find(What:=Range("AA1"), LookIn:=xlValues, Lookat:=xlWhole)
If Not Cel Is Nothing Then
Colonne = Cel.Column
If MsgBox("Des données de cette semaine " & Range("AA1") & " existent déjà" & vbCr & _
" On les efface ?", vbCritical + vbYesNo + vbDefaultButton2, "Remplacement") <> vbYes Then Exit Sub
.Columns(Colonne).ClearContents
Else
Colonne = .Cells(1, Columns.Count).End(xlToLeft).Column + 1
End If
Range("AA1:AA" & Range("A" & Rows.Count).End(xlUp).Row).Copy .Cells(1, Colonne)
End With
End If
If Target.Count > 1 Or Target.Cells(1, 1) = "" Then Exit Sub
If Target.Address = "$AB$1" Then
With Sheets("DB€")
Set Cel = .Rows(1).Find(What:=Range("AB1"), LookIn:=xlValues, Lookat:=xlWhole)
If Not Cel Is Nothing Then
Colonne = Cel.Column
If MsgBox("Des données de cette semaine " & Range("AB1") & " existent déjà" & vbCr & _
" On les efface ?", vbCritical + vbYesNo + vbDefaultButton2, "Remplacement") <> vbYes Then Exit Sub
.Columns(Colonne).ClearContents
Else
Colonne = .Cells(1, Columns.Count).End(xlToLeft).Column + 1
End If
Range("AB1:AB" & Range("A" & Rows.Count).End(xlUp).Row).Copy .Cells(1, Colonne)
End With
End If
End Sub
Comment cela se fait il qu il ne me donne pas la valeur?
Merci
Re bonjour,
J ai fini par trouver la solution.
Il s'agissait d'un probleme de Vlookup avec une feuille mal référencée.
Un tout grand merci pour votre aide