Sauvegarde d'une plage de cellules dans un autre onglet
lisa Bel
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
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" :
et pour la fonction "Charger " :
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:
- Sauvegarde d'une plage de cellules dans un autre onglet
- Logiciel de sauvegarde gratuit - Guide
- Rouvrir un onglet fermé - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Sauvegarde android - Guide
- Verrouiller cellules excel - Guide