Sauvegarde d'une plage de cellules dans un autre onglet

Fermé
lisa Bel - Modifié par lisa Bel le 22/05/2015 à 18:09
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 23 mai 2015 à 20:02
Bonjour à tous !,
j'espère que vous avez la forme parce que la question que je vais vous poser m'a vraiment fatigué malgré que ça va apparaître simple, alors voila :
je développe une petite application sous excel qui gère les factures, ventes, stock... j'ai besoin de créer deux fonctions dans l'onglet "palanquee" :

1- Sauvegarder : consiste à enregistrer une zone de cellules dans un autre onglet "sorties" et elle doit enregistrer cette zone après chaque modification et supprimer les ancienne valeurs --> faire une mise à jour du tableau de l'onglet "sortie" après chaque modification

2- Charger : consiste à charger les données qui se situent à l'onglet "plongee" dans le tableau : zone (A21:H60) de l'onglet "palanquee" en fonction de la date et de la rotation et si on souhaite effectuer des modifications sur la zone A21:H60 et ça va enregistrer les modifications dans l'onglet "plongee"

voila le code que j'ai fais :

pour la fonction "sauvegarder" :

Private Sub CommandButton2_Click() 'sauvegarder

Dim l As Integer, c As Integer
Dim nbl As Integer
Dim x As Integer
nbl = Sheets("sorties").Range("A" & Rows.Count).End(xlUp).Row + 1
For l = 7 To 16
If (Sheets("Palanquee").Cells(l, 2).Value <> "") Then
Sheets("sorties").Cells(nbl, 1).Value = Sheets("Palanquee").Cells(2, 2).Value
Sheets("sorties").Cells(nbl, 2).Value = Sheets("Palanquee").Cells(2, 4).Value
Sheets("sorties").Cells(nbl, 3).Value = Sheets("Palanquee").Cells(3, 4).Value
Sheets("sorties").Cells(nbl, 4).Value = Sheets("Palanquee").Cells(3, 2).Value
For c = 1 To 8
Sheets("sorties").Cells(nbl, c + 4).Value = Sheets("Palanquee").Cells(l, c).Value
Next c
nbl = nbl + 1
End If
Next l
End Sub


et pour la fonction "Charger " :

Private Sub CommandButton1_Click()
Application.Range("Lpalanquees").ClearContents
Application.Range("Lmoniteurs2").ClearContents
Call loadRotation
Call loadSorties
End Sub

Private Sub loadRotation()
Dim nbline As Integer, x As Integer, dlig As Integer
Dim pdate As Date
Dim ttc As Double
Dim protation As Integer

Call initColonnes

nbline = Application.Range("BDPlongees").Rows.Count
dlig = Application.Range("RPalanquee").Row + 1
pdate = Application.Range("Palanquee.date").Value
protation = Application.Range("Palanquee.rotation").Value

For x = 1 To nbline

If (Sheets("Plongees").Cells(x, PLDate).Value = pdate) Then
If (Sheets("Plongees").Cells(x, PLRotation).Value = protation) Then

Sheets("Palanquee").Cells(dlig, 2).Value = Sheets("Plongees").Cells(x, PLPrenom).Value
Sheets("Palanquee").Cells(dlig, 3).Value = Sheets("Plongees").Cells(x, PLNom).Value
If (Sheets("Plongees").Cells(x, PLPalanquee).Value <> "") Then
Sheets("Palanquee").Cells(dlig, 1).Value = Sheets("Plongees").Cells(x, PLPalanquee).Value
End If
Sheets("Palanquee").Cells(dlig, 4).Value = Sheets("Plongees").Cells(x, PLNiveau).Value
ttc = Sheets("Plongees").Cells(x, PLPUHT).Value
ttc = ttc + Sheets("Plongees").Cells(x, PLLocation).Value * Sheets("ref").Range("tarifLocation").Value
ttc = ttc + Sheets("Plongees").Cells(x, PLGaz).Value
Sheets("Palanquee").Cells(dlig, 7).Value = ttc
Sheets("Palanquee").Cells(dlig, 8).Value = Sheets("Plongees").Cells(x, PLPaye).Value
dlig = dlig + 1
End If
End If
Next x
End Sub

Private Sub loadSorties()
Dim l As Integer, c As Integer
Dim nbl As Integer, nbl2 As Integer
Dim pdate As Date
Dim protation As Integer

pdate = Application.Range("Palanquee.date").Value
protation = Application.Range("Palanquee.rotation").Value
nbl = Sheets("sorties").Range("A" & Rows.Count).End(xlUp).Row
nbl2 = 7
For l = 1 To nbl
If (Sheets("sorties").Cells(l, 1).Value = pdate) Then
If (Sheets("sorties").Cells(l, 2).Value = protation) Then
For c = 1 To 8
Sheets("Palanquee").Cells(nbl2, c).Value = Sheets("sorties").Cells(l, c + 4).Value
Next c
nbl2 = nbl2 + 1
If (nbl2 > 16) Then nbl2 = 16
End If
End If
Next l
End Sub


A voir également:

1 réponse

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
23 mai 2015 à 20:02
Bonjour,

C'est bien.
Et c'est quoi la question ?
Déposer le fichier sur cjoint.com et coller ici le lien fourni.

eric
0