Macro Sauvegarde

hellocarioca

XLDnaute Occasionnel
Bonjour,

j'ai une base de données qui peut changer au cours du temps.
Je vous ai mis un fichier tres simplifier de ce que je voudrais !
J'aimerai que les lignes ou la colonne D = Closed soient enlever de ma Base de Données et qu'elles soient sauvées sur un autre fichier.

J'aimerai aussi qu'à la fin de l'opération ma base de données n'est pas l'air d'un gruyère :p

Merci bcp

maud :)
 

Pièces jointes

  • Data base.xls
    17 KB · Affichages: 139
  • Data base.xls
    17 KB · Affichages: 146
  • Data base.xls
    17 KB · Affichages: 142

jp14

XLDnaute Barbatruc
Re : Macro Sauvegarde

Bonsoir hellocarioca

Ci joint un fichier avec une macro qui réalise les opérations suivantes :
Copie des lignes fermée
Efface les lignes copiées en supprimant les trous
Demande d'un nom pour la sauvegarde
Sauvegarde de la feuille "Closed"
Suppression des données

A tester

JP
 

Pièces jointes

  • Data base.zip
    15.8 KB · Affichages: 73
  • Data base.zip
    15.8 KB · Affichages: 71
  • Data base.zip
    15.8 KB · Affichages: 71

Lord Nelson

XLDnaute Occasionnel
Re : Macro Sauvegarde

Salut Maud,

Voici une possibilité :
Code:
Sub Archivage()
Dim NumLigne1 As Long, NumLigne2 As Long
Dim I As Long, J As Long
NumLigne1 = Sheets("Data Base").Range("D65536").End(xlUp).Row
NumLigne2 = Sheets("Closed").Range("D65536").End(xlUp).Row

I = 2
Do While I <= NumLigne1
  If Sheets("Data Base").Range("D" & I) = "Closed" Then
    NumLigne2 = NumLigne2 + 1
    For J = 1 To 4
      Sheets("Closed").Cells(NumLigne2, J) = Sheets("Data Base").Cells(I, J)
    Next
    Sheets("Data Base").Range("D" & I).EntireRow.Delete
  Else
    I = I + 1
  End If
Loop

End Sub

Chaque fois que le mot "Closed" est rencontré en colonne D, la macro reporte les données dans la feuille "Closed" et détruit la ligne.

A+
Horatio
 

Pièces jointes

  • Archivage_2.xls
    42 KB · Affichages: 111

hellocarioca

XLDnaute Occasionnel
Re : Macro Sauvegarde

Horatio Merci bcp c exactement ce que je veux...
Par contre quand je veux le reporter sur mon fichier existant, il y a qq spécificité que je ne comprend pas bien.
Par exemple dans l'application, à koi correspond le "I" et le "J"???

Sub Archivage()
Dim NumLigne1 As Long, NumLigne2 As Long
Dim I As Long, J As Long
NumLigne1 = Sheets("Data Base").Range("D65536").End(xlUp).Row
NumLigne2 = Sheets("Closed").Range("D65536").End(xlUp).Row

I = 2
Do While I <= NumLigne1
If Sheets("Data Base").Range("D" & I) = "Closed" Then
NumLigne2 = NumLigne2 + 1
For J = 1 To 4 Sheets("Closed").Cells(NumLigne2, J) = Sheets("Data Base").Cells(I, J)
Next
Sheets("Data Base").Range("D" & I).EntireRow.Delete
Else
I = I + 1 End If
Loop

End Sub

J'aimerai juste savoir si je peux copier & coller l'application sur ma macro ou s'il y a des changements que je dois faire ???

Merci bcp !

Maud
 

hellocarioca

XLDnaute Occasionnel
Re : Macro Sauvegarde

Je t'embete encore !

Si je veux que mes lignes ou y a un "Closed", soit sauvegardé sur un autre fichier et pas sur un onglet du fichier existant...
A quoi ressemblerait la macro pour aller d'un fichier à un autre...
Admettons que pour les lignes en rouge ci-dessous on est besoin d'aller dans le fichier closed mais d'un autre workbook...

Sub Archivage()
Dim NumLigne1 As Long, NumLigne2 As Long
Dim I As Long, J As Long
NumLigne1 = Sheets("Data Base").Range("D65536").End(xlUp).Row
NumLigne2 = Sheets("Closed").Range("D65536").End(xlUp).Row

I = 2
Do While I <= NumLigne1
If Sheets("Data Base").Range("D" & I) = "Closed" Then
NumLigne2 = NumLigne2 + 1
For J = 1 To 4
Sheets("Closed").Cells(NumLigne2, J) = Sheets("Data Base").Cells(I, J)
Next
Sheets("Data Base").Range("D" & I).EntireRow.Delete
Else
I = I + 1
End If
Loop

End Sub

Merci !

Maud
 

hellocarioca

XLDnaute Occasionnel
Re : Macro Sauvegarde

Je suis desolee JP mais je suis vraiment pas douée en Macro et le lien que tu m'as donné c bcp trop compliqué pour moi...
est ce que c possible que tu m'écrive juste vite fait les lignes de la macro parce que la je suis perdue !

Merci bcp et desolee pour le dérangement !

Maud
 

Discussions similaires

Réponses
4
Affichages
335

Statistiques des forums

Discussions
312 329
Messages
2 087 335
Membres
103 520
dernier inscrit
Azise