Macro EXCEL VBA SOS

Fermé
Artemi Messages postés 3 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 juin 2007 - 18 juin 2007 à 14:41
Artemi Messages postés 3 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 juin 2007 - 19 juin 2007 à 16:07
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

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 mardi 12 juin 2007 Statut Membre Dernière intervention 19 juin 2007
19 juin 2007 à 16:07
Merci mais ca buggue
0