Archivage uniquement des cellules avec donnée
yoyo
-
yoyo -
yoyo -
Bonjour,
Bonjour
Je suis en train de créer un petit programme.
L'une des feuilles sert à saisir les informations. Elle a un format standard ou je peux remplire jusqu'à 25 lignes (25 opération différentes) d'informations.
Une fois saisi je souhaite que ces informations soit archiver sur un autre feuille. Mais les 25 lignes ne seront pas forcément toutes remplies. En effet je peux n'avoir à faire que 19 opérations dans la journée et donc avoir à remplir 19 lignes. C'est tout à fait aléatoire. Mais ça ne peut pas dépasser les 25 lignes.
Je souhaiterais donc savoir comment je peux faire pour que ma macro d'archivage comprenne qu'elle doit archiver uniquement les lignes avec des informations?
Une autre macro me permettra de réinitialiser la feuille de saisie pour le jour suivant. La macro archivage fera en sorte qu'une base de donnée soit créée en archivant les journées les unes à la suites des autres.
J'espere que j'ai été assez claire. N'hésitez pas à me poser des questions.
J'ai mit un morceau de mon fichier en piece jointe.
http://www.cijoint.fr/cjlink.php?file=cj200903/cij8HcUrPq.xls
Merci pour votre aide.
Cordialement
Yohann
Bonjour
Je suis en train de créer un petit programme.
L'une des feuilles sert à saisir les informations. Elle a un format standard ou je peux remplire jusqu'à 25 lignes (25 opération différentes) d'informations.
Une fois saisi je souhaite que ces informations soit archiver sur un autre feuille. Mais les 25 lignes ne seront pas forcément toutes remplies. En effet je peux n'avoir à faire que 19 opérations dans la journée et donc avoir à remplir 19 lignes. C'est tout à fait aléatoire. Mais ça ne peut pas dépasser les 25 lignes.
Je souhaiterais donc savoir comment je peux faire pour que ma macro d'archivage comprenne qu'elle doit archiver uniquement les lignes avec des informations?
Une autre macro me permettra de réinitialiser la feuille de saisie pour le jour suivant. La macro archivage fera en sorte qu'une base de donnée soit créée en archivant les journées les unes à la suites des autres.
J'espere que j'ai été assez claire. N'hésitez pas à me poser des questions.
J'ai mit un morceau de mon fichier en piece jointe.
http://www.cijoint.fr/cjlink.php?file=cj200903/cij8HcUrPq.xls
Merci pour votre aide.
Cordialement
Yohann
A voir également:
- Archivage uniquement des cellules avec donnée
- Verrouiller des cellules excel - Guide
- Excel additionner plusieurs cellules - Guide
- Archivage sms - Guide
- Trier des données excel - Guide
- Fusionner deux cellules excel - Guide
1 réponse
Salut Yoyo
Regarde si cette macro te convient:
edit 18:44
Vérifies la zone à nettoyer:
Sheets("saisie").Range("F4:I27").ClearContents
je ne suis pas sû de ce qu'il faut nettoyer ou pas!
Regarde si cette macro te convient:
Sub archiver()
Dim Lig_saisie As Byte, Lig_archiv As Long
Dim tablo1(), tablo2()
Dim journee As Date
Dim fin As Byte
With Sheets("saisie")
journee = .Range("B4")
' vérifie que l'archivage d'une journée n'a pas été effectué
If Application.CountIf(Sheets("archivage").Range("A4:A10000"), journee) > 0 Then
MsgBox "la journée du " & Format(journee, "dd/mm/yy") & " a déjà été archivée !", vbCritical
Exit Sub
End If
' plages à exporter en archive
Lig_saisie = .Range("G28").End(xlUp).Row
tablo1 = .Range("E4:G" & Lig_saisie).Value
tablo2 = .Range("J4:O" & Lig_saisie).Value
End With
With Sheets("archivage")
'ecrit les saisies de la journée
Lig_archiv = .Range("A65536").End(xlUp).Row + 1
.Range(.Cells(Lig_archiv, 1), .Cells(Lig_archiv + Lig_saisie - 4, 3)).Value = tablo1
.Range(.Cells(Lig_archiv, 4), .Cells(Lig_archiv + Lig_saisie - 4, 9)).Value = tablo2
'écrit le taux d'efficacité sur la dernière ligne de la journée
.Cells(Lig_archiv + Lig_saisie - 4, 10) = Sheets("saisie").Range("S18")
End With
fin = MsgBox("archivage réussi. Nettoyer le tableau de saisie ?", vbYesNo)
If fin = vbYes Then
Sheets("saisie").Range("F4:I27").ClearContents
End If
End Sub
edit 18:44
Vérifies la zone à nettoyer:
Sheets("saisie").Range("F4:I27").ClearContents
je ne suis pas sû de ce qu'il faut nettoyer ou pas!
je te remercie beaucoup.