Macro EXCEL VBA SOS

Artemi Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Artemi Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Voila j'ai reposté ca :
"Bonjour,

Je n'arrive pas à créer une bonne MACRO sous EXCEL qui me permette de faire ça :

-Prendre une valeur dans une case x et la mettre dans une autre case y par exemple
Et j'aimerai que aprés avoir arrêté et ouvert de nouveau mon fichier, la valeur de x (modifiée ou non) soit remise dans la case suivant y lorsque je remets en marche ma macro.

En gros : Lorsqu on modifie un tableau, faire en sorte que les valeurs anciennes du tableau soient mises dans un autre champ ( le tableau sauvegarde). Puis le jour suivant, lorsqu'on modifie a nouveau le tableau , il faut que les nouvelles valeurs du tableau de sauvegarde soient a la suite de celle de la veille.

J'espère m'être exprimé plus clairement que lors de mon premier post.

Merci "

Sinon pour l'exemple :

le tableau : de la case b3 à b5 ; et le tableau ds le quel je veux que ca s'inscrive c'est : de la case d20 à d22

Mercii bcp
A voir également:

1 réponse

baborge
 
essaye ça:
Sub Sauve()
' realisation
    Dim row1 As Integer
    Dim row2 As Integer
    Dim row3 As Integer
    Dim row4 As Integer
    Dim col1 As Integer
    Dim col2 As Integer
    Dim col3 As Integer
    Dim col4 As Integer
    
    
    For i = 3 To 5 ' Nombre de ligne du tableau source exemple ligne 3 a 5 inclus
        row1 = i
        col1 = 2
        row2 = i + 17
        col2 = 4
        
        If Cells(row2, col2).Value <> Cells(row1, col1).Value Then ' verification du contenu de la derniere sauvegarde
            For j = 14 To 5 Step -1 ' Nombre de colonne du tableau de sauvagarde exemple les 10 dernieres valeur de chaque ligne
               col4 = j
               row4 = row2
               col3 = j - 1
               row3 = row2
               If Cells(row3, col3).Value <> "" Then ' decalage des sauvegardes
                   Cells(row4, col4).Value = Cells(row3, col3).Value
                   Cells(row3, col3).Value = ""
               End If
            Next
        End If
        Cells(row2, col2).Value = Cells(row1, col1).Value
    Next
End Sub
0
Artemi Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Merci mais ca buggue
0